Ich programmiere ein LFSR (Linear Feedback Shift Register) in Software für Lernzwecke und habe einige Einschränkungen bei der Verwendung als Pseudozufallszahlengenerator (PRNG) festgestellt.
- Wenn der Startwert nur wenige '1'-Bits hat und nur wenige Abgriffe verwendet werden, ist eine große "Startzeit" erforderlich, um eine scheinbar zufällige Ausgabe mit nahezu gleicher Verteilung zwischen' 1 'und' 0 'oder kurzen' 0 'zu erzeugen. Ich denke, mit mehr Taps wäre ein solcher Start viel schneller, aber alle vorberechneten Tabellen, die ich finde, geben zwei oder vier Taps.
- Folgenummern sind stark korreliert, was zu erwarten ist, da bei einem Ausgangsbit von 0 die nächste Nummer die Hälfte der vorherigen ist. Für ein 15-Bit-LFSR mit Abgriffen [15, 14] ergibt das Zeichnen eines Paares von fortlaufenden Zahlen als Punkte in einer Ebene Folgendes. Ein idealer PRNG sollte diese Punkte überall verteilen.
Ich weiß, dass LFSRs als schneller Hardwarezähler verwendet werden, aber ich habe auch gesehen, dass sie als PRNG verwendet werden, um weißes Rauschen zu erzeugen. Wie wird es in solchen realen Anwendungen mit solch schlechter Qualität verwendet?