Forum: Mikrocontroller und Digitale Elektronik Linear Rückgekoppeltes schieberegister polynom


von Jan R. (Gast)


Lesenswert?

Hi,

was beschreibt dieses Polynom überhaupt??

Finde im Internet nichts eindeutiges..

von Michael (Gast)


Lesenswert?


von Jan R. (Gast)


Lesenswert?

Habe ich mir schon angesehen... So wie ich verstanden habe setzt man nie 
werte für x ein sonder dass ist nur eine darstellung dafür wo XOR 
ve3rknüpfungen reimgeballert wurden...

Dieses Polinom nennt man dann Generatorpolynom aber warum schreibt mann 
dass al Polynom???

von florz (Gast)


Lesenswert?

Da scheint einiges an Theorie zu fehlen. Es beschreibt die Blidung der 
Zahl aus dem Bitstrom, resp hier fuer den Bitstrom.

von Jan R. (Gast)


Lesenswert?

florz schrieb:
> Da scheint einiges an Theorie zu fehlen. Es beschreibt die Blidung der
> Zahl aus dem Bitstrom, resp hier fuer den Bitstrom.

Ja ich habe kein Plan.
Welche Zahl ein Beispiel wäre nett.

von Jan R. (Gast)


Lesenswert?

Jan R. schrieb:
> florz schrieb:
>> Da scheint einiges an Theorie zu fehlen. Es beschreibt die Blidung der
>> Zahl aus dem Bitstrom, resp hier fuer den Bitstrom.
>
> Ja ich habe kein Plan.
> Welche Zahl ein Beispiel wäre nett.
Edit:
http://www.inf.fh-flensburg.de/lang/krypto/algo/lfsr-zufallsbits.htm


für das Beispiel en

Ist das Polynom doch x^4+x=c(x) oder was Meinst du mit Bitstrom?

die Bitfolge am Ausgang?
0 0 0 1 1 1 1 0 1 0 1 1 0 0 1

das polinom hat an der stelle 2^n-1 den wert 50640. Die Binärbitfolge 
wäre dezimal die zahl 3929

Welchen sinn hat das Polynom????

Was du gesagt hast war ja offensichtlich auch nicht richtig

von Jan R. (Gast)


Lesenswert?

Habe gerade mal geguckt die Polynome sind ja mit Modulos verknüpft..

also


1100010111000001 = 15^4

15=1111

also ist das ganze modulo also XOr

1100010111001110

dann nochmal modulo mit 1

dann ist das ganze

1100010111001111

ok keine Übereinstimmung mit der Bitfloge am Ausgang...


dann habe ich gelesen, dass man das generatorpolynom mit dem 
Initialisierungspolynom multiplizieren muss also wohl x

also dann gesammt x^5+x^2+x

15^5 = 10111001011001001111
15^2 =                         11100001
15     =                                 1111
Mod  = 10111001011010100001

was mit der Ursprünglichen Zhlenfolge auch nichts zu tuen hat,
also erklärt mir bitte was ich falsch mache, dass sind die Infos, die 
ich aus demNetz schlagen konnte...

von Jan R. (Gast)


Lesenswert?

Das ist der momentane stand.. Das Polygon beschreibt offensichtlich ja 
nicht die ausgangsbits einer Periode... Was machen sie dann?? Oben habe 
ich ja nochmals was von Notstrom gehört aber dass ist doch der Ausgang 
oder ??

von Jan R. (Gast)


Lesenswert?

Keiner ??

von Michael (Gast)


Lesenswert?

Hallo,

du solltest dir jemanden in deiner Nähe suchen der Dir das Rechnen im 
Polynom-Ring über dem Körper F2 erklärt. Insbesondere wie man dort 
Polynome addiert, subtrahiert, multipliziert und vor allem wie man 
dividiert.

Denn das was in einem linear rückgekoppeltem Schieberegister bei jedem 
Takt passiert ist nichts anderes als ein Rechenschritt bei einer 
fortgesetzten Polynomdivision. Der Divisor ist hierbei das sogenannte 
Generatorpolynom.

Das "Bitmuster" das du immer versuchst als Zahl darzustellen 
repräsentiert hierbei die Koeffizienten der beteiligten Polynome und hat 
nichts mit einer Binärzahl zu tun.
Übrigens: die Addition zweier Koeffizienten aus F2 entspricht dabei 
genau der XOR Verknüpfung mit der Überraschung dass 1+1 gleich 0 ist.

Also noch mal: such dir Jemanden der Dir das erklärt und sofort auf 
deine Fragen eingeht. Schriftlich hier im Forum wird das nichts.

von Jan R. (Gast)


Lesenswert?

>
> Also noch mal: such dir Jemanden der Dir das erklärt und sofort auf
> deine Fragen eingeht. Schriftlich hier im Forum wird das nichts.

Was Ringe und Körper sind weiß ich, aber irgendwie ist mir nicht klar 
wie man das hier anwendet. Ich mache dass alles im Selbststudium weshalb 
ich nicht weiß, wo genau und wen ich da fragen soll. Da ich ja aber 
weis, was Ringe und Körper sind, würde mir es vielleicht helfen, wenn du 
oder auch jemand anderes mir dass mal mithilfe dieses Beispiels aus dem 
PDF vorrechnet...

von Jan R. (Gast)


Lesenswert?

Das einzige was ich nicht kapiere ist, wie die Koeffizienten (die meiner 
Meinung nach auch nur 1 und 0 annehmen können), dieses bitmuster am 
Ausgang beschreiben. Was ist eigentlich der Dividende, wenn das 
Generatorpolynom der Divisor ist.  Wie gesagt ein Beispiel anhand eines 
rechenwegs sagt wohl mehr als noch tausende worte...

von Michael (Gast)


Lesenswert?

Hallo

also mal kurz zu dem Beispiel aus
http://www.inf.fh-flensburg.de/lang/krypto/algo/lfsr-zufallsbits.htm

Das Beispiel ist kein besonders schönes da die Art der Rückkopplung 
einem Fibonacci-LFSR entspricht und damit keiner einfachen 
Grundrechnungsart im Polynomring. Hier ist die Erweiterung bei jedem 
Takt der maßgebliche Schritt. Der neue Wert für r1 errechnet sich immer 
mit  r1*a1 + r2*a2 + r3*a3 + r4*a4 wobei die r1, r2, r3, r4 die Inhalte 
des Schieberegisters sind und a1, a2, a3, a4 die Koeffizienten des 
Generator-Polynoms. Beachte dass all diese Werte nur den Zustand 0 oder 
1 annehmen können und * einer UND Verknüpfung und + einer XOR 
Verknüpfung entspricht.

Wesentlich schöner sind die Galois-LFSR da hier jeder Schritt (Takt) dem 
einer Polynomdivision entspricht und die geht so:

Betrachte das Generatorpolynom x4 + x3 + 1 (höchster Grad links, 
kleinster rechts) dann entspricht das dem Bitmuster 11001

des Weiteren nehmen wir das Polynom 1 (= Anfangszustand im 
Schieberegister 0001) und jetzt teilen wir 1 / (x4 + x3 + 1)

Die Rechenschritte sind jetzt ähnlich denen einer Division im 
Dezimalsystem, immer wenn ... nicht subtrahierbar wird eine Stelle nach 
links geshiftet, d.h. erweitert (im Dezimalsystem wäre das die 
Erweiterung mit 10 )

0001 : 11001 = 00011…..     (alle 0,1 sind Koeffizienten eines Polynoms, 
keine Binärzahl)
------------------------------------------------------
0001    start
 0010    nur erweitert
  0100    nur erweitert
   1000    nur erweitert
   10000    jetzt erweitern und wegen überlauf in die nächste Stelle
  -11001    den Divisor subtrahieren (geht Koeffizientenweise mit XOR)
   ------
    1001
    10010    erweitern und wegen überlauf in die nächste Stelle
   -11001    wieder subtrahieren (Koeffizientenweise mit XOR)
    ------
     1011
     .
     .
     .
     .
und so weiter.
Wenn du jetzt nur alle 4 stelligen Bitmuster betrachtest hast du eine 
Folge aller möglichen 4bit-Kombinationen und das Ergebnis selbst ist 
eine Folge von Pseudozufallbits

(Anmerkung: die Subtraktion in F2 ist identisch zur Addition (XOR) da 
die 1 invers zu sich selbst ist und 0 das neutrale Element bezüglich der 
Addition ist)

von Jan R. (Gast)


Lesenswert?

Siehst du hat mir super geholfen.

.



Wie würde man dann mit dem Fibonacci-LFSR weiter rechnen

von Jan R. (Gast)


Lesenswert?

Michael schrieb:
> Hallo
>
> also mal kurz zu dem Beispiel aus

>
> 0001 : 11001 = 00011…..     (alle 0,1 sind Koeffizienten eines Polynoms,
> keine Binärzahl)
> ------------------------------------------------------
> 0001    start
>  0010    nur erweitert
>   0100    nur erweitert
>    1000    nur erweitert
>    10000    jetzt erweitern und wegen überlauf in die nächste Stelle
>   -11001    den Divisor subtrahieren (geht Koeffizientenweise mit XOR)
>    ------
>     1001
>     10010    erweitern und wegen überlauf in die nächste Stelle
>    -11001    wieder subtrahieren (Koeffizientenweise mit XOR)
>     ------
>      1011
>      .
>      .
>      .
>      .
> und so weiter.
Dieses 00011 ist das die Ausgangsbitfolge.


> Wenn du jetzt nur alle 4 stelligen Bitmuster betrachtest hast du eine
> Folge aller möglichen 4bit-Kombinationen und das Ergebnis selbst ist
> eine Folge von Pseudozufallbits

Was meinst du mit nur alle 4Stelligen.
>

Warum nennt man das eigentlich alles Zufallsbit das ist doch 
berechenbar.

von Jan R. (Gast)


Lesenswert?

????

von Jan R. (Gast)


Lesenswert?

Das heißt zuerst hat man 0001dann 0010 , 0100 , 1000 Dann 1001 Dann 1011 
usw. I'm register. Have ichmdas aus deiner rechnung richtig abgelesen?? 
Dann it's doc haberdashery nichts surf all sondern 100% ig berechenbar.

von florz (Gast)


Lesenswert?

Ja nix Zufall, sondern 100% berechenbar und reproduzierbar. dafuer mit 
definierter periode. Ein 10 bit LFSR wiederholt sich nach 2^10 = 1024 
bit. Wenn man nun Zufall spielen will, so nimmt man ein LFSR, das 
laenger ist, als das Zielsystem es merken wuerde. Und das ist schnell 
machbar. Bei Xilinx findet man Polynome mit sehr hoher Laenge,

von Jan R. (Gast)


Lesenswert?

Sind die werte, die ich aus dem Beitrag von Michael abgelesen habe denn 
richtig??

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Jan R. schrieb:
> Hi,
>
> was beschreibt dieses Polynom überhaupt??

Es beschreibt einen endlichen Restklassenkörper; in der Regel einen der 
Characteristik 2, weil darin so schön einfach zu rechnen ist. Sei

mit einem über F_2 irreduziblen Polynom vom Grad n erhält man dann den 
endlichen Körper mit n Elementen durch Restklassenbildung aus dem 
Polynomring in einer Variablen F_2[x]:

Diese Konstruktion ist ganz analog zur Konstruktion der Komplexen Zahlen 
aus den Reelen Zahlen: Man bildes den Polynomring R[X] und faktorisiert 
das irreduzible Polynom x²+1 heraus (dieses Polynom ist irreduzibel über 
R):

Die Rechenregeln für LFSRs, die man quer durchs Netz findet, stellen 
lediglich die für eine Implementierung mundgerecht hingeschriebene 
Arithmetik über solchen endlichen Körpern dar.

Eine Multipliketion mit x enspricht zum Beispiel einem Shift um 1. 
Beispiel für n = 2: x²+x+1 ist irreduzibel über F_2, die Elemente von 
F_2^2 können geschrieben werden als 0, 1, x und x+1 wobei x eine formale 
Nullstelle des erzeugenden Polynoms ist (analog wie bei den Komplexen 
Zahlen, wo i eine formale Nullstelle von x²+1 ist).

Geschrieben als Bitstring mit dem höchsten Koeffizienten links: 0, 1, 10 
und 11 (0, 1, x und x+1).  Multiplizieren wir 11 (also x+1) mit x, dann 
ist das 110 (x²+x). Wegen x²+x+1 = 0, was gleichbedeutend ist mit 
x²=x+1, kann x² durch x+1 ersetzt werden: 110 = 10 + 11 = 1.

Hier sieht man nun die Einfahcheit der Arithmetik:

Addition entspricht einem XOR, denn in Characteristic 2 ist 1+1=0.

Multiplikation mit x entspricht einem Shift um 1 nach links, d.h. bei 
allen Monomen wird der Exponent um 1 erhöht.

War der höchste Koeffizient (der bei n-1) gleich 0 passiert nix, man 
schiebt eine 0 raus.

War der höchste Koeffizient 1, dann hat das neue Polynom die gestalt 
x^n+... (eine 1 rausgeschoben).  Das x^n kann durch ein Polynom vom 
Grade höchstens n-1 ersetzt werden wegen p(x) = 0.  Die Addition liefert 
das XOR bei der LFSR-Arithmetik.

Diese Beschreibung als endliche Körper mag zunächst kompliziert klingen 
und voll unnötog sein, aber sie gibt einem das Rüstzeug in die Hand, 
LFSRs theoretisch zu analysieren oder Fehlerkorrekturcodes zu schaffen.

Mit dem Bitgewusel würde man sehr schnell den Überblick verlieren, 
während man bei der mathematischen Beschreibung den kompletten 
Werkzeugkasten der Algebra drauf anwenden kann, und der ist nicht gerade 
klein :-)

: Bearbeitet durch User
von Simon K. (simon) Benutzerseite


Lesenswert?

Johann, dein Wissen in allen Ehren, aber da raucht mir auch der Schädel 
ein wenig ;-)

Wie auch immer, bei mir kam damals der "Klick" Moment, als ich Begriff, 
dass bei derartigen Geschichten die Bits nicht als irgendeine (Integer) 
Zahl interpretiert werden, sondern jedes Bit stellt einen Koeffizienten 
von einem Polynom dar. Und dazu kann man nun sagen, dass dies spezielle 
Polynome sind, weil ein Bit, also der Bereich jedes Koeffizientens nur 2 
Werte umfasst.

Wie auch immer, DAMIT kann man nun eine bestimmte Form von Rechnungen 
durchführen, die allerdings gar nichts mehr mit den für einen 
"Normalsterblichen" bekannten Addition, Multiplikation und Co zu tun 
haben.

Man benutzt also die Darstellung eines Polynoms, wobei die Koeffizienten 
das sind, womit nachher im Endeffekt "gerechnet" wird.

von Jochen F. (jamesy)


Lesenswert?

Einfach mal nach Gold-Codes googeln, oder die Dateien des 
US-Verteidigungsministeriums ansehen, die das GPS-Signal und seine 
Generierung erklären. GPSSPSA1 und GPSSPSA2 jeweils als PDF

von Jan R. (Gast)


Lesenswert?

Die Koeffizienten, können ja aber nur 1 oder 0 sein.

von Simon K. (simon) Benutzerseite


Lesenswert?

Jan R. schrieb:
> Die Koeffizienten, können ja aber nur 1 oder 0 sein.

So ist es. Klingt erstmal "billig" und unsinnig. Aber das ist es nicht. 
Der "Baukasten" vom Georg lässt sich trotzdem sehr schön anwenden.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.