Praktische Bestimmung von Polynomen mit beliebig großer Hamming-Distanz

BCH-Code zum Anfassen

15. Oktober 2007, 9:10 Uhr | Kamal Merchant
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 5

5. Die wichtigen Eigenschaften der Polynome

Ein Polynom mten Grades wird durch die Glg. (13) dargestellt. In der Praxis werden die Polynome durch die linear rückgekoppelten Schieberegister dargestellt. Die lineare Rückkoppelung bewirkt, dass die Koeffizienten am und a0 stets ungleich Null sind.

Pm (x) = am * xm + am – 1 * xm - 1... a1 * x1 + a0, mit am = a0 = 1 (13)

Nachfolgend werden die wichtigsten Eigenschaften der Polynome aufgelistet:

  1. Alle Polynome mit einem geraden Gewicht (Gewicht = Anzahl der Koeffizienten ai ≠ 0) haben eine Wurzel x = 1 in GF(2) und sind durch x + 1 teilbar.
  2. Irreduzibele Polynome haben immer ein ungerades Gewicht und eine ungerade Zykluslänge.
  3. Irreduzibele Polynome können über dem GF(2m) definiert werden und besitzen Wurzeln in GF(2m). Ist die Wurzel eines irreduzibeln Polynoms gleichzeitig ein primitives Element von GF(2m), so ist das betreffende Polynom primitiv mit der Zykluslänge von 2m – 1.
  4. Irreduzibele Polynome mten Grades mit der Zykluslänge kleiner als 2m – 1 sind nichtprimitiv. Ihre Zykluslänge ist ein Teiler von 2m – 1.
  5. Die Zykluslänge von irreduzibeln Polynomen mten Grades ist 2m – 1 (primitiv) oder Teiler davon (nichtprimitiv).
  6. Es existieren keine nichtprimitiven Polynome mten Grades, falls 2m – 1 eine Primzahl ist.
  7. Die Häufigkeit Hp(m) von primitiven Polynomen mten Grades ≤ (2m – 2)/m. Das Produkt von sämtlichen irreduzibeln Polynomen mten Grades wird durch das Maximalpolynom (2m – 2)ten Grades dargestellt. Damit ist Hp(m) * m ≤ 2m – 2. Die Gleichheit wird erreicht, wenn 2m - 1 eine Primzahl darstellt.

6. Anwendungsbeispiele

Bei einem System Entwurf steht relativ früh, die Anzahl der Informationsbits, die verarbeitet werden müssen, fest. Die Sicherheitsanforderungen an das System sind ebenfalls schon am Anfang bekannt. Mit diesen zwei wichtigen Eckdaten kann dann rasch ermittelt werden, wie viele Bits an Redundanz (Anzahl des CRC-Bits) benötigt werden. Im Blatt 5 der Datei „BCH-Code.pdf“ sind sämtliche BCH-Codes bis zu einer Zykluslänge von 257 zusammengefasst. Im Blatt 6 dieser Datei sind sie nach aufsteigender Anzahl k der Informationsbits aufgelistet. Anhand von zwei Beispielen soll nun demonstriert werden, wie schnell und effektiv man ein passende Polynom finden kann.

Beispiel 1: Es sollen 12 Bytes, 96 Bits gesichert werden. Sicherheitstechnisch ist eine mindest Hamming-Distanz von 7 bis 9 erwünscht. Mit dieser Information öffnet man das Blatt 6 und stellt fest, dass für k = 96 es nur einen Eintrag mit einem Polynom 95ten Grades (95-Bit Redundanz) und einer Hamming-Distanz von 7 in der Zeile 454 gibt. Dieser Aufwand ist natürlich sehr hoch. Durch aufwärts scrollen der Datei stellt man jedoch fest, dass noch weitere zwei Polynome mit 28ten bzw. 21ten Grades mit einer Hamming-Distanz von 9 bzw. 7 existieren. Beide Polynome können mindestens 99 Informationsbits verarbeiten und gehören zu den primitiven BCH-Codes. Beide Polynome können mit einem primitiven Polynom 7ten Grades gemäß den Ausführungen im Abschnitt 4.1 generiert werden.

Beispiel 2: In einem zweiten Fall soll nur 1 Byte, also 8 Bits verarbeitet werden, jedoch wird dafür eine möglichst hohe Hamming-Distanz gefordert. Ab Zeile 77 im Blatt 6 der besagten Datei sind vier Einträge mit k = 8. Es ist möglich eine Hamming-Distanz von 45 mit einem Polynom 97ten Grades zu realisieren. Dieser Aufwand ist verhältnismäßig hoch. Man findet jedoch in der Zeile 83 ein Polynom 42ten Grades mit einer Hamming-Distanz von 19.Dieses BCH-Code kann mit einem nichtprimitiven Polynom 8ten Grades und einer Zykluslänge von 51 generierte werden Dieses Polynom 5167036C6A1h fand bereits die Erwähnung im Blatt 4, Zeile 57. Das Polynom ist in der Lage bis zu 18 Bitfehlern zu erkennen bzw. 9-Bit Fehlerkorrektur durch zu führen.

Im Blatt 7 und 8 der Excel-Datei sind dann zum Schluss die BCH-Codes bis zu einer Zykluslänge von 1095 aufgelistet. Es wurden dabei praxisorientiert nur die Codes bis zu einem maximalen Polynomgrad von 64 und k > 1 berücksichtigt. Diese Daten können natürlich auch nach der Hamming-Distanz bzw. Polynomgrad sortiert werden und liefern demnach sehr aufschlussreiche Informationen und Entscheidungshilfen.


  1. BCH-Code zum Anfassen
  2. 1.2 Erweiterung des binären Galois-Feldes zum GF(2m)
  3. 4. Ein fiktiver BCH-Code
  4. 2. Bestimmung der Gesamtheit der irreduzibeln Polynome
  5. 1.4 Wurzeln des Polynoms
  6. 5. Die wichtigen Eigenschaften der Polynome
  7. 7. Zusammenfassung

Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!