LSFRs und Primitive Polynome

Gast #4419707
Hallo.

In der als richtig bestätigten Implementierung des A5/1 Algorithmus, der 
aus der Mobilkommunikation bekannt ist, findet sich folgende Angabe 
(siehe http://www.scard.org/gsm/a51.html):

/* Feedback taps, for clocking the shift registers.
 * These correspond to the primitive polynomials
 * x^19 + x^5 + x^2 + x + 1, x^22 + x + 1,
 * and x^23 + x^15 + x^2 + x + 1. */
#define R1TAPS  0x072000 /* bits 18,17,16,13 */
#define R2TAPS  0x300000 /* bits 21,20 */
#define R3TAPS  0x700080 /* bits 22,21,20,7 */

Wenn ich nun aber Wiki-Artikel zum Thema LSFR lese 
(https://en.wikipedia.org/wiki/Linear_feedback_shift_register), steht da 
Folgendes:

feedback polynomial or reciprocal characteristic polynomial. For 
example, if the taps are at the 16th, 14th, 13th and 11th bits (as 
shown), the feedback polynomial is x^{16} + x^{14} + x^{13} + x^{11} + 
1.


Was ist denn nun der Zusammenhang zwischen den Generatorpolynomen (bzw 
im Idealfall primitiven Polynomen) und den Stellen, an denen die 
Rückkopplungsbits sein sollen?
#4419717
Hallo,

ohne mich auszukennen...

VL schrieb:
> #define R1TAPS  0x072000 /* bits 18,17,16,13 */
> #define R2TAPS  0x300000 /* bits 21,20 */
> #define R3TAPS  0x700080 /* bits 22,21,20,7 */

wandle die Zahlen in Binärzahlen um und beachten MSB-LSB, dann dürfte es 
Dir vermutlich klar sein.

VL schrieb:
> feedback polynomial or reciprocal characteristic polynomial. For
> example, if the taps are at the 16th, 14th, 13th and 11th bits (as
> shown), the feedback polynomial is x^{16} + x^{14} + x^{13} + x^{11} +
> 1.

Sagte eigentlich schon alles.

Mit freundlichen Grüßen
Guido
Gast #4419757
Mir ist klar, dass wenn ich eine Hexadezimal-Zahl ins Dualsystem 
umrechne, ich zB.

aus 0x072000 ‭die Zahl 01110010000000000000‬ bekomme, wo an 13, 16, 17, 
18 Stelle, angefangen bei Index 0, das Bit gesetzt ist.

Die Frage war, was das mit dem Polynom x^19 + x^5 + x^2 + x + 1 zu tun 
hat.
Gast #4419843
Gast #4419929
Okay, Frage hat sich erledigt. Erste Antwort war doch hilfreich. 72000 
und 80027 sind spiegelverkehrt in binary, wobei im mathematischen Tupel, 
also 80027, noch das MSB gesetzt wird. Ich hab mir das mit kurzen Tupeln 
angeguckt, da war das nicht ersichtlich.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.