In der technisierten und modernen Welt ist es zur Gewohnheit geworden das alles hochgradig deterministisch ist. Für viele Bereiche ist es essenziell das Vorgänge vorbestimmt und deterministisch ablaufen. So sei an dieser Stelle das Beispiel des Automotors erwähnt, der z.B. mit 3000 Umdrehungen/min arbeitet. Dreitausendmal in der Minute läuft exakt die gleiche mechanische Bewegung ab, dreitausendmal in der Minute kommt es zur selben Verkettung von Ursache und Wirkung, die dem mobilen Leben im Automobil Vortrieb verleiht. Ein Abweichen von diesem deterministischen Prozessgefüge könnte fatale Folgen haben.
Und dennoch hat auch der „Nichtdeterminismus“, also der Zufall seine Bedeutung und Notwendigkeit. Ebenso wie technisierte Gesellschaften auf eine Vielzahl deterministischer Prozesse beruht und angewiesen ist, so hängt diese nicht minder von nicht deterministischen Prozessen ab. Im Allgemeinen ist hier von Zufall die Rede, also von einem Ereignis oder Ereignisketten die nicht vorhersagbar also nicht deterministisch sind, für die es keine kausale Erklärung gibt.
Insbesondere in der Informationstechnik kommen Zufallszahlen und die entsprechenden Methoden und Module zu deren Erzeugung häufiger vor als vielleicht auf den ersten Blick vermutet.
Ein guter Grund dafür einige Aspekte der Erzeugung von Zufallszahlen genauer zu betrachten. Insbesondere die hardwarenahe Umsetzung der zu Grunde liegenden Prinzipien in Logikschaltungen wird in dieser Arbeit untersucht. Nach einer kurzen Einführung in die theoretischen Grundlagen verschiedener Schaltungen folgt ein Entwurf mit konsekutivem simuliertem Verhalten, so dass ein Verständnis für die Umsetzung von der Theorie in die Praxis entsteht.
Am Ende steht für den Leser der Zufall nicht mehr für etwas Unklares, unfassbares oder unbegreifliches, sondern als etwas das man messen, quantifizieren und anwenden kann.
Zielsetzung ist hier nicht ein umfassendes Verständnis des Themas, sondern eine pragmatische Einführung für die Anwendung in Informationstechnik und hier insbesondere in den Bereich der hardwarenahen Umsetzung.
Inhaltsverzeichnis
- 0 Einleitung
- 1 Zufall… und seine Folgen
- 1.1 Grundlagen
- 1.2 Kriterien an Zufallszahlenfolgen
- 1.2.1 Verteilung von Zufallszahlen
- 1.2.2 Periodenlänge bei der Erzeugung
- 1.2.3 Unvorhersehbarkeit
- 1.2.4 Reproduzierbarkeit
- 1.2.5 Korrelation
- 1.2.6 Entropie
- 1.3 Zufallszahlengeneratoren
- 1.3.1 Echter Zufallszahlengenerator (TRNG)
- 1.3.2 Pseudozufallszahlengeneratoren (PRNG)
- 1.4 Anwenden und verwenden von Zufall
- 2 Physische (echte) Zufallszahlengeneratoren
- 2.1 Ausgewählte typische Entropiequellen in der Informationsverarbeitung
- 2.1.1 Thermisches Rauschen an passiven Komponenten
- 2.1.2 Rauschen in Halbleitern
- 2.1.3 Praktische Umsetzung eines auf Rauschen basierenden Zufallszahlengenerators
- 2.2 Digitale Rauschquellen
- 2.1 Ausgewählte typische Entropiequellen in der Informationsverarbeitung
- 3 Pseudozufallszahlengeneratoren
- 4 Praktische Implementierung mit logischen Schaltungen
- 4.1 Einführungsbeispiel: gemischt linearer 4Bit Kongruenzgenerator
- 4.1.1 Simulation mit Matlab
- 4.1.2 Betrachtung ausgewählter Kongruenzgeneratoren aus der Praxis
- 4.1.3 Einschränkung bei der Umsetzung in logischen Schaltungen
- 4.2 Einführungsbeispiel: 4Bit Fibonacci LFSR
- 4.2.1 Prinzip Aufbau
- 4.2.2 Simulation mit Matlab
- 4.2.3 Betrachtung als endlicher deterministischer Automat
- 4.2.4 Modellierung und Simulation mit Matlab Simulink
- 4.2.5 Modellierung und Simulation mit Altera (Intel) Quartus II
- 4.2.6 Darstellung in VHDL
- 4.3 Einführungsbeispiel 4-Bit NLFSR
- 4.3.1 Prinzipieller Aufbau
- 4.3.2 Simulation mit Matlab
- 4.3.3 Modellierung und Simulation mit Altera (Intel) Quartus II
- 4.3.4 Darstellung in VHDL
- 4.4 16 Bit LFSR mit maximaler Periodenlänge
- 4.4.1 Prinzipieller Aufbau
- 4.4.2 Simulation mit Matlab
- 4.4.3 Modellierung und Simulation mit Altera (Intel) Quartus II
- 4.4.4 Darstellung in VHDL
- 4.5 16 Bit NLFSR mit maximaler Periodenlänge
- 4.5.1 Prinzipieller Aufbau
- 4.5.2 Simulation mit Matlab
- 4.5.3 Modellierung und Simulation mit Altera (Intel) Quartus II
- 4.5.4 Darstellung in VHDL
- 4.1 Einführungsbeispiel: gemischt linearer 4Bit Kongruenzgenerator
- 5 Gütebetrachtung von Zufallszahlengeneratoren
- 5.1 Referenzgenerator
- 5.2 Vergleich verschiedener PRNGs
- 5.2.1 Randu
- 5.2.2 TI-59
- 5.2.3 16 Bit LFSR
- 5.2.4 16 Bit NLFSR
- 6 Fazit
Zielsetzung und Themenschwerpunkte
Diese Arbeit bietet eine pragmatische Einführung in die Erzeugung von Zufallszahlen, speziell deren hardwarenahe Umsetzung in Logikschaltungen. Das Ziel ist nicht umfassendes theoretisches Verständnis, sondern die Anwendung in der Informationstechnik.
- Untersuchung verschiedener Pseudozufallszahlengeneratoren (PRNGs)
- Design und Simulation von PRNGs in Logikschaltungen
- Vergleich der Effizienz und Güte verschiedener PRNG-Implementierungen
- Hardwarenahe Umsetzung von linearen und nicht-linearen rückgekoppelten Schieberegistern (LFSRs und NLFSRs)
- Bewertung der Eignung verschiedener PRNGs für unterschiedliche Anwendungen
Zusammenfassung der Kapitel
0 Einleitung: Die Einleitung führt in das Thema Zufallszahlen und deren Bedeutung in verschiedenen Bereichen ein, wobei der Fokus auf technischen und wissenschaftlichen Aspekten liegt. Sie stellt die Arbeit als Auszug eines umfassenderen Werks vor, das detaillierter auf die Grundlagen eingeht.
1 Zufall… und seine Folgen: Dieses Kapitel definiert den Begriff „Zufall“ im technischen Kontext und erläutert die Bedeutung von Zufallszahlenfolgen. Es werden die wichtigsten Grundlagen, einschließlich Gruppentheorie, diskreter Mathematik und statistischer Methoden, angerissen und auf weiterführende Literatur verwiesen.
2 Physische (echte) Zufallszahlengeneratoren: Dieses Kapitel behandelt die Gewinnung von Zufallszahlen aus physikalischen Phänomenen, insbesondere thermisches und Halbleiterrauschen. Es werden typische Entropiequellen und deren praktische Umsetzung in Schaltungen vorgestellt, zum Beispiel der Aufbau eines auf thermischen Rauschen basierenden Zufallszahlengenerators.
3 Pseudozufallszahlengeneratoren: Dieses Kapitel beschreibt die theoretischen Grundlagen von Pseudozufallszahlengeneratoren (PRNGs). Es erläutert deren formale Beschreibung als endliche deterministische Automaten und die Bedeutung von Parametern wie Periodenlänge und Initialisierungsvektor. Verschiedene PRNG-Arten wie Kongruenzgeneratoren und rückgekoppelte Schieberegister werden vorgestellt.
4 Praktische Implementierung mit logischen Schaltungen: Dieses Kapitel behandelt die praktische Umsetzung von PRNGs in Logikschaltungen. Es werden verschiedene Implementierungsansätze mit Intel Quartus Prime II und Matlab/Simulink vorgestellt, inklusive Beispielen für 4-Bit und 16-Bit LFSRs und NLFSRs. Die Kapitel zeigen die Simulationen und geben exemplarischen VHDL-Code.
5 Gütebetrachtung von Zufallszahlengeneratoren: Dieses Kapitel bewertet die Güte verschiedener PRNGs anhand von Simulationen und graphischen Auswertungen. Ein Referenzgenerator dient als Vergleichsmaßstab. Die Analyse umfasst die Betrachtung von Verteilungsfunktionen, Strukturbildung und Korrelationen.
Schlüsselwörter
Pseudozufallszahlengeneratoren, Logikschaltungen, LFSR, NLFSR, Kongruenzgeneratoren, Simulation, Matlab, Quartus Prime, VHDL, Entropie, Gütebetrachtung, Zufallszahlenfolgen.
Häufig gestellte Fragen (FAQ) zu "Pseudozufallszahlengeneratoren in Logikschaltungen"
Was ist der Inhalt dieses Dokuments?
Dieses Dokument ist eine umfassende Übersicht über die Erzeugung von Zufallszahlen, insbesondere deren hardwarenahe Implementierung in Logikschaltungen. Es beinhaltet ein Inhaltsverzeichnis, die Zielsetzung und Themenschwerpunkte, Zusammenfassungen der einzelnen Kapitel und Schlüsselwörter. Der Fokus liegt auf der praktischen Anwendung und weniger auf der umfassenden theoretischen Betrachtung.
Welche Themen werden behandelt?
Das Dokument behandelt verschiedene Aspekte der Zufallszahlenerzeugung, darunter: die Definition von Zufall und Kriterien an Zufallszahlenfolgen; echte Zufallszahlengeneratoren (TRNGs) basierend auf physikalischen Phänomenen wie thermischem Rauschen; Pseudozufallszahlengeneratoren (PRNGs), insbesondere lineare (LFSR) und nicht-lineare (NLFSR) rückgekoppelte Schieberegister; die praktische Implementierung von PRNGs in Logikschaltungen mit Hilfe von Matlab, Simulink und Altera Quartus II; die Simulation und Modellierung der PRNGs in VHDL; und eine Gütebetrachtung verschiedener PRNGs im Vergleich zu einem Referenzgenerator.
Welche Arten von Zufallszahlengeneratoren werden beschrieben?
Das Dokument beschreibt sowohl echte Zufallszahlengeneratoren (TRNGs), die auf physikalischem Rauschen basieren (z.B. thermisches Rauschen in Halbleitern), als auch Pseudozufallszahlengeneratoren (PRNGs). Bei den PRNGs werden insbesondere lineare (LFSRs) und nicht-lineare (NLFSRs) rückgekoppelte Schieberegister sowie Kongruenzgeneratoren behandelt.
Welche Software und Hardware wird verwendet?
Für die Simulation und Modellierung der PRNGs werden Matlab, Simulink und Altera (Intel) Quartus II verwendet. Die Implementierung in den Logikschaltungen wird in VHDL beschrieben.
Wie werden die PRNGs bewertet?
Die Güte der verschiedenen PRNGs wird anhand von Simulationen und graphischen Auswertungen bewertet. Ein Referenzgenerator dient als Vergleichsmaßstab. Die Analyse umfasst die Betrachtung von Verteilungsfunktionen, Strukturbildung und Korrelationen.
Für wen ist dieses Dokument gedacht?
Dieses Dokument richtet sich an Leser, die ein pragmatisches Verständnis der Erzeugung von Zufallszahlen und deren hardwarenahe Umsetzung benötigen. Es eignet sich insbesondere für Studierende der Informationstechnik und Ingenieure, die sich mit der praktischen Anwendung von Zufallszahlengeneratoren befassen.
Welche Schlüsselwörter beschreiben den Inhalt?
Schlüsselwörter sind: Pseudozufallszahlengeneratoren, Logikschaltungen, LFSR, NLFSR, Kongruenzgeneratoren, Simulation, Matlab, Quartus Prime, VHDL, Entropie, Gütebetrachtung, Zufallszahlenfolgen.
Gibt es Beispiele für die Implementierung?
Ja, das Dokument enthält ausführliche Beispiele für die Implementierung von 4-Bit und 16-Bit LFSRs und NLFSRs in Logikschaltungen, inklusive Simulationen und exemplarischem VHDL-Code.
Wo finde ich detailliertere Informationen zu den Grundlagen?
Das Dokument verweist an mehreren Stellen auf weiterführende Literatur für detailliertere Informationen zu den theoretischen Grundlagen, insbesondere im Bereich Gruppentheorie, diskreter Mathematik und statistischer Methoden.
- Quote paper
- Andreas Hümmer (Author), 2020, Design und Simulation von PRNGs in Logischen Schaltungen, Munich, GRIN Verlag, https://www.hausarbeiten.de/document/542616