-
Die
Erfindung betrifft einen Zufallszahlengenerator und ein Verfahren
zum Erzeugen von Zufallszahlen.
-
Gegenwärtige Anwendungen
im Bereich der digitalen Kommunikation (z. B. Internet, Mobile Kommunikation,
Chip-Karten) erfordern
den Einsatz kryptographischer Methoden zur Sicherung der zu übertragenden Information.
In diesem Zusammenhang spielt die Erzeugung und Bereitstellung von
Zufallszahlen eine wichtige Rolle. Zufallszahlen können technisch
durch so genannte Zufallszahlengeneratoren erzeugt werden, siehe z.
B. [1].
-
Anwendungen
der Zufallszahlengeneratoren liegen u. a. bei Authentifizierungsverfahren
(z. B. Challenge-Response-Protokolle),
Schlüsselaustausch-Protokollen
(z. B. Diffie-Hellmann-Schlüsselaustausch),
der Schlüsselerzeugung
(z. B. Sitzungsschlüssel
für symmetrische
Verschlüsselungsverfahren,
Schlüsselerzeugung
für asymmetrische
Verschlüsselungsverfahren,
Parametererzeugung für
Public-Key-Verfahren),
der Ergänzung
von Klartextblöcken
(Padding), dem sicheren Löschen
von Speichermedien, der Generierung von Initialwerten für Pseudozufallszahlen-Generatoren
und der Schlüsselerzeugung
für One-Time-Pads.
-
Alle
genannten Anwendungen erfordern die technische Generierung so genannter "echter Zufallszahlen".
-
Für die Erzeugung
von Zufallszahlen existieren bislang beispielsweise folgende Möglichkeiten.
-
• Noise-Based
Random Number Generators (z. B. [2], [3], [4])
-
Bei
diesem Verfahren wird das Rauschen einer Rauschquelle (z. B. thermisches
Rauschen eines Widerstandes) breitbandig verstärkt. Das verstärkte Signal
wird durch einen Schwellwertentscheider bewertet und das Ausgangssignal
des Schwellwertentscheiders wird mit einer konstanten Abtastfrequenz
durch ein Abtast-Halteglied abgetastet. Die Folge der binären Ausgangssignale
des Abtast-Halteglieds ergibt so eine 1-Bit-Zufallsfolge binärer Signale,
welche zu m-Bit-Zufallszahlen kombiniert werden können. Ein
Problem dieses Verfahrens besteht in der notwendigen Realisierung
eines Breitbandverstärkers
mit hohem Verstärkungsfaktor,
was in integrierten Schaltkreisen zu einem hohen Flächenbedarf
und einem hohen Leistungsbedarf führt. Ferner ist die starke
Temperaturabhängigkeit
des Rauschverhaltens der Rauschquelle problematisch für viele
Anwendungen.
-
• Jittered
Oscillator Sampling (z. B. [5])
-
Bei
dieser Methode wird das Phasenrauschen eines freischwingenden Oszillators
als Rauschquelle benutzt. Hier wird der binäre Ausgangszustand eines freischwingenden
Oszillators mit einer niedrigen Frequenz abgetastet. Das abgetastete
Signal wird als 1-Bit-Zufallsfolge interpretiert. Gegenwärtige Realisierungen
zeigen, dass das Phasenrauschen freischwingender Oszillatoren nicht
ausreichend ist, um eine hinreichend statistische Zufälligkeit
der erzeugten Zufallsfolge zu generieren.
-
• Discrete-Time
Chaotic Maps (z. B. [6], [7], [8], [9])
-
Bei
diesem Verfahren werden chaotische Systeme (z. B. die Bernoulli
Shift Map) mit Hilfe zeitdiskreter analoger Schaltkondensator-Netzwerke
realisiert. Bauelementtoleranzen der integrierten analogen Komponenten
limitieren hierbei die statistische Zufälligkeit der erzeugten Bitfolge.
-
• Generatoren
für Pseudozufallszahlen
(z. B. [10], [11], [12])
-
Für die Erzeugung
von Pseudozufallszahlen existiert eine Vielzahl von Methoden, die
jedoch aufgrund der inhärenten
Periodizität
und Reproduzierbarkeit der Zufallszahlenfolge ungeeignet sind, echte
Zufallszahlen zu erzeugen. Beispiele für Pseudozufallszahlengeneratoren
sind die Methode der linearen Kongruenz, Fibonacci- und Shift-Register-Generatoren
oder der Marsaglia-Zaman-Generator.
-
In
[14] ist eine Vorrichtung zum Erzeugen chaotischer Signale offenbart,
welche ein nichtlineares Funktionselement, eine Mehrzahl von Koeffizientenelementen,
sowie ein Addierelement, welches mit dem nichtlinearen Funktionselement
und den Koeffizientenelementen gekoppelt ist, aufweist, wobei das
nichtlineare Funktionselement eine nichtlineare Funktion in Bezug
auf ein Eingangssignal erzeugt und als Ausgangssignal bereitstellt,
wobei jedes Koeffizientenelement jeweils ein Ausgangssignal bereitstellt,
welches durch Multiplizieren eines Eingangssignals mit einem Koeffizienten
gebildet wird, wobei das Addierelement das Ausgangssignal des nichtlinearen
Funktionselementes und die Ausgangssignale der Koeffizientenelemente
summiert und als Ausgangssignal bereitstellt, und wobei das nichtlineare
Funktionselement, die Koeffizientenelemente und das Addierelement
ein Taktsignal mit einer gegebenen Periode empfangen und synchron
mit dem Taktsignal arbeiten.
-
In
[15] ist ein Neurocomputer vom Hopfield-Typ offenbart, mit: einem
neuronalen Netzwerk, das aus einer Vielzahl von Analogneuroprozessoren
besteht, die jeweils Analogsignale von einem Analogbus in einer Zeitteilungsweise
empfangen, eine Produkt- und Summenberechnung der eingegebenen Analogsignale durchführen, wodurch
ein Summe-der-Produkte-Signal geliefert wird, und ein Analogsignal
durch Umwandeln des Summe-der-Produkte-Signals
durch eine nichtlineare Funktion ausgeben; und einem asynchronen
Steuersystem mit: einem Gewichtspeicher zum Speichern von Digital-Gewichtdaten
für die
Analogneuroprozessoren; einer Steuereinheit zum Erzeugen von Steuermustern,
das die Analogneuroprozessoren des neuronalen Netzwerks veranlasst,
die Produkt- und Summenberechnung durchzuführen, und zum Erzeugen eines
Adresssignals für
den Gewichtspeicher; Auswahlmitteln zum selektiven Verbinden der
Steuereinheit mit den jeweiligen Analogneuroprozessoren; und einem
Zufallszahlengenerator zum zufälligen
Schalten der Auswahlmittel, so dass die Steuermuster durch die Auswahlmittel
zufällig
geschaltet werden, wodurch die zufällig ausgewählten Analogneuroprozessoren
veranlasst werden, die Produkt- und Summenberechnung durchzuführen.
-
Der
Erfindung liegt das Problem zu Grunde, eine Einrichtung zur einfachen
technischen Realisierung von Zufallszahlen bereitzustellen, bei
der die oben genannten Probleme bzw. Nachteile herkömmlicher
Zufallszahlengeneratoren zumindest teilweise umgangen oder reduziert
werden.
-
Das
Problem wird durch einen Zufallszahlengenerator und ein Verfahren
zum Erzeugen von Zufallszahlen mit den Merkmalen gemäß den unabhängigen Patentansprüchen gelöst.
-
Beispielhafte
Ausgestaltungen der Erfindung ergeben sich aus den abhängigen Patentansprüchen. Die
weiteren Ausgestaltungen der Erfindung, die im Zusammenhang mit
dem Zufallszahlengenerator beschrieben sind, gelten sinngemäß auch für das Verfahren
zum Erzeugen von Zufallszahlen.
-
Es
wird ein Zufallszahlengenerator bereitgestellt, mit einer Mehrzahl
zumindest teilweise miteinander gekoppelter Schwellwertentscheider-Einrichtungen,
wobei jede Schwellwertentscheider-Einrichtung mindestens einen Extern-Signaleingang zum
Empfangen mindestens eines vorgebbaren externen Eingangssignals, mindestens
einen Intern-Signaleingang
zum Empfangen mindestens eines internen Eingangssignals, eine Summensignal-Bildungs-Einrichtung
zum Bilden eines Summensignals aus den empfangenen Eingangssignalen
sowie einen Signalausgang zum Bereitstellen eines Ausgangssignals
aufweist. Jeder Intern-Signaleingang einer Schwellwertentscheider-Einrichtung
ist mit einem Signalausgang einer anderen Schwellwertentscheider-Einrichtung gekoppelt,
derart, dass an dem Intern-Signaleingang
ein an dem Signalausgang der anderen Schwellwertentscheider-Einrichtung
bereitgestelltes Ausgangssignal empfangen wird. Ferner ist jede Schwellwertentscheider-Einrichtung
derart eingerichtet, dass das von der Summensignal-Bildungs-Einrichtung
gebildete Summensignal zeitlich aufintegriert wird, und dass an
dem Signalausgang der Schwellwertentscheider-Einrichtung ein vorgebbares
gepulstes Ausgangssignal bereitgestellt wird, sobald das zeitlich
aufintegrierte Summensignal eine vorgebbare Schwelle überschreitet.
Der Zufallszahlengenerator weist weiterhin eine Mehrzahl von Signal-Gewichtungs-Einrichtungen auf,
wobei mit Hilfe einer Signal-Gewichtungs-Einrichtung ein an einem Signalausgang
einer Schwellwertentscheider-Einrichtung bereitgestelltes und an
einem mit dem Signalausgang gekoppelten Intern-Signaleingang einer
anderen Schwellwertentscheider-Einrichtung empfangenes Ausgangssignal
mit einem Kopplungsgewicht gewichtet wird. Ferner weist der Zufallszahlengenerator
eine mit mindestens einem Signalausgang der Mehrzahl von Schwellwertentscheider-Einrichtungen gekoppelte
Signal-Erfass-Einrichtung auf zum Erfassen der an dem mindestens
einen Signalausgang bereitgestellten gepulsten Ausgangssignale,
wobei die von der Signal-Erfass-Einrichtung erfassten gepulsten
Ausgangssignale zur Erzeugung von Zufallszahlen verwendet werden.
-
Bei
einem Verfahren zum Erzeugen von Zufallszahlen wird eine Mehrzahl
zumindest teilweise miteinander gekoppelter Schwellwertentscheider-Einrichtungen
bereitgestellt, wobei jede Schwellwertentscheider-Einrichtung mindestens
einen Extern-Signaleingang aufweist, an dem mindestens ein vorgebbares
externes Eingangssignal empfangen wird, sowie mindestens einen Intern-Signaleingang,
an dem mindestens ein internes Eingangssignal empfangen wird, sowie
eine Summensignal-Bildungs-Einrichtung, mit deren Hilfe aus den
empfangenen Eingangssignalen ein Summensignal gebildet wird, sowie
einen Signalausgang, an dem ein Ausgangssignal bereitgestellt wird.
Jeder Intern-Signaleingang einer Schwellwertentscheider-Einrichtung
wird mit einem Signalausgang einer anderen Schwellwertentscheider-Einrichtung gekoppelt,
derart, dass an dem Intern-Signaleingang
ein an dem Signalausgang der anderen Schwellwertentscheider-Einrichtung
bereitgestelltes Ausgangssignal empfangen wird. Ferner wird bei
jeder Schwellwertentscheider-Einrichtung das von der Summensignal-Bildungs-Einrichtung
gebildete Summensignal zeitlich aufintegriert, und an dem Signalausgang
der Schwellwertentscheider-Einrichtung wird ein gepulstes Ausgangssignal
bereitgestellt, sobald das zeitlich aufintegrierte Summensignal
eine vorgebbare Schwelle überschreitet.
Weiterhin wird eine Mehrzahl von Signal-Gewichtungs-Einrichtungen bereitgestellt,
wobei mit Hilfe einer Signal-Gewichtungs-Einrichtung ein an einem
Signalausgang einer Schwellwertentscheider-Einrichtung bereitgestelltes
Ausgangssignal, welches an einem mit dem Signalausgang gekoppelten
Intern-Signaleingang einer anderen Schwellwertentscheider-Einrichtung
empfangen wird, mit einem Kopplungsgewicht gewichtet wird. Ferner
wird eine Signal-Erfass-Einrichtung
bereitgestellt, welche mit mindestens einem Signalausgang der Mehrzahl
von Schwellwertentscheider-Einrichtungen
gekoppelt wird. Mit Hilfe der Signal-Erfass-Einrichtung werden die an dem mindestens
einen Signalausgang bereitgestellten gepulsten Ausgangssignale erfasst.
Die von der Signal-Erfass-Einrichtung erfassten gepulsten Ausgangssignale
werden zur Erzeugung von Zufallszahlen verwendet.
-
Eine
Grundidee der Erfindung kann darin gesehen werden, dass die gepulsten
Ausgangssignale bzw. Pulse von zumindest teilweise miteinander gekoppelten
Schwellwertentscheider-Einrichtungen
zur Erzeugung von Zufallszahlen verwendet werden, wobei eine Schwellwertentscheider-Einrichtung
ein gepulstes Ausgangssignal erzeugt, sobald die zeitliche Integration
eines Summensignals, welches aus von der Schwellwertentscheider-Einrichtung
empfangenen externen (bzw. extern vorgebbaren) Eingangssignalen
und empfangenen internen Eingangssignalen (i. e. gewichteten Ausgangssignalen
anderer Schwellwertentscheider-Einrichtungen) gebildet wird, eine
vorgegebene Schwelle überschreitet.
-
Ein
Vorteil der Erfindung kann darin gesehen werden, dass sich auf die
oben beschriebene Weise im Vergleich zu herkömmlichen aus dem Stand der
Technik bekannten Verfahren auf eine technisch einfach zu implementierende
Art und Weise Zufallszahlen bzw. echte Zufallszahlen generieren
lassen.
-
Es
werden zum Beispiel keine physikalischen Rauschprozesse benötigt. Ferner
weist eine Schaltkreisrealisierung des Zufallszahlengenerators einen
niedrigen Leistungsbedarf und einen niedrigen Flächenbedarf auf. Außerdem weist
der Zufallszahlengenerator eine hohe Toleranz gegenüber eventuellen
Parameterschwankungen der Schaltkreisrealisierung auf.
-
Der
beschriebene Zufallszahlengenerator lässt sich zum Beispiel in ULSI-Systeme
(Ultra Large Scale Integration) mit Hilfe gemischt analog/digitaler
Schaltungstechnik integrieren.
-
In
einer Ausgestaltung der Erfindung ist es vorgesehen, dass bei mindestens
einer Schwellwertentscheider-Einrichtung das zeitliche Aufintegrieren
des Summensignals und das Bereitstellen des gepulsten Ausgangssignals
mit Hilfe eines Pulsgenerators erfolgt. Mit anderen Worten weist
mindestens eine in dem Zufallszahlengenerator ausgebildete Schwellwertentscheider-Einrichtung
einen Pulsgenerator auf, welcher Pulsgenerator zum Aufintegrieren
des von der Summen-Bildungs-Einrichtung
bereitgestellten Summensignals sowie zum Bereitstellen des gepulsten
Ausgangssignals an dem Signalausgang der Schwellwertentscheider-Einrichtung
dient.
-
Ein
in einer Schwellwertentscheider-Einrichtung ausgebildeter Pulsgenerator
kann hierbei als Integrate-and-Fire-Neuron ausgebildet sein. Ein
Integrate-and-Fire-Neuron kann zum Beispiel wie in [13] beschrieben realisiert
sein.
-
In
einer anderen Ausgestaltung der Erfindung ist es vorgesehen, dass
mindestens eine Signal-Gewichtungs-Einrichtung einen Signaleingang aufweist,
welcher mit einem Signalausgang einer Schwellwertentscheider-Einrichtung
gekoppelt ist, sowie einen Signalausgang, welcher mit einem Intern-Signaleingang
einer anderen Schwellwertentscheider-Einrichtung gekoppelt ist. Mit Hilfe
der Signal-Gewichtungs-Einrichtung
kann somit ein an dem Signaleingang der Signal-Gewichtungs-Einrichtung empfangenes
Signal, i. e. das Ausgangssignal der Schwellwertentscheider-Einrichtung,
mit einem Kopplungsgewicht gewichtet werden und als gewichtetes
Signal an dem Signalausgang der Signal-Gewichtungs-Einrichtung bereitgestellt
werden. Das gewichtete Ausgangssignal wird dann an dem mit dem Signalausgang
der Signal-Gewichtungs-Einrichtung gekoppelten Intern-Signaleingang der
anderen Schwellwertentscheider-Einrichtung empfangen.
-
Gemäß einer
anderen Ausgestaltung der Erfindung ist es vorgesehen, dass mindestens
eine Signal-Gewichtungs-Einrichtung
derart eingerichtet ist, dass das Kopplungsgewicht als zeitlich
konstantes Kopplungsgewicht ausgebildet ist. Mit anderen Worten
kann mindestens eines der Kopplungsgewichte fest vorgegeben bzw.
zeitlich unveränderlich
sein.
-
In
einer anderen Ausgestaltung der Erfindung ist es vorgesehen, dass
mindestens eines der externen Eingangssignale als zeitlich konstantes
Eingangssignal bzw. als kontinuierliches Eingangssignal ausgebildet ist.
Zum Beispiel kann jeder Schwellwertentscheider-Einrichtung ein äußeres bzw.
externes analoges Eingangssignal zugeordnet sein, welches an einem
jeweiligen Extern-Signaleingang empfangen wird. Mit anderen Worten
kann eine Schwellwertentscheider-Einrichtung einen Extern-Signaleingang
aufweisen, an dem ein externes Eingangssignal empfangen wird, wobei
das externe Eingangssignal ein zeitlich konstantes Signal bzw. zeitlich
unveränderliches
Signal sein kann mit einer vorgebbaren konstanten Amplitude bzw.
Signalstärke.
Die Bezeichnung "Extern-Signaleingang" dient in diesem
Zusammenhang zur Verdeutlichung, dass an diesem Signaleingang ein
externes, d. h. ein von außen
vorgebbares, Eingangssignal empfangen werden kann.
-
Ein
Zufallszahlengenerator mit einer Mehrzahl gekoppelter Schwellwertentscheider-Einrichtungen, welche
Schwellwertentscheider-Einrichtungen Pulsgeneratoren aufweisen,
kann anschaulich als Netzwerk bzw. Netz gekoppelter Pulsgeneratoren
aufgefasst werden. Mit anderen Worten wird anschaulich ein Netz
gebildet aus vernetzten bzw. vermaschten Pulsgeneratoren, allgemein
Schwellwertentscheider-Einrichtungen.
-
Falls
die Pulsgeneratoren als Integrate-and-Fire-Neuronen ausgebildet
sind, können
die gekoppelten Pulsgeneratoren bzw. Schwellwertentscheider-Einrichtungen
auch als Neuronales Netzwerk oder Neuronales Netz bezeichnet werden.
-
Ein
Aspekt der Erfindung kann darin gesehen werden, dass zum Erzeugen
von echten Zufallszahlen ein Netz gekoppelter Pulsgeneratoren bereitgestellt
wird, wobei die Kopplung der Pulsgeneratoren mit zeitlich konstanten
Kopplungsgewichten bzw. Kopplungsstärken realisiert werden kann.
Dabei kann zunächst
jedem Pulsgenerator ein externes analoges Eingangssignal zugeordnet
werden, derart, dass der jeweilige Pulsgenerator gepulste Ausgangssignale
bzw. Pulse mit konstanter Dauer und einer Pulsfrequenz in Abhängigkeit
des externen analogen Eingangssignals, zum Beispiel in Abhängigkeit
von der Amplitude bzw. Signalstärke
des externen analogen Eingangssignals, abgibt.
-
Bei
einem Netzwerk aus beispielsweise n Pulsgeneratoren besteht weiterhin
von jedem Pulsgenerator eine zusätzliche
Kopplung zu mindestens einem und höchstens n – 1 weiteren Pulsgeneratoren,
derart, dass bei Absenden eines Pulses der Pulsabstand zweier aufeinander
folgender Pulse der angekoppelten Pulsgeneratoren kurzzeitig in
Abhängigkeit
von der individuellen Kopplungsstärke (bzw. des individuellen
Kopplungsgewichts) erniedrigt wird.
-
Unter
einer Kopplung zwischen einem ersten Pulsgenerator (auch Sender-Pulsgenerator
genannt) mit einem zweiten Pulsgenerator (auch Empfänger-Pulsgenerator
genannt) ist in diesem Zusammenhang beispielsweise zu verstehen,
dass der Signalausgang der Schwellwertentscheider-Einrichtung, in
welcher der erste Pulsgenerator ausgebildet ist, zumindest mittelbar
mit einem Intern-Signaleingang der Schwellwertentscheider-Einrichtung,
in welcher der zweite Pulsgenerator ausgebildet ist, gekoppelt ist.
Die Bezeichnung "Intern-Signaleingang" dient in diesem
Zusammenhang zur Verdeutlichung, dass an diesem Signaleingang ein internes,
d. h. ein von dem Zufallszahlengenerator erzeugtes, Eingangssignal
(z. B. ein von einer Schwellwertentscheider-Einrichtung bereitgestelltes Ausgangssignal)
empfangen wird.
-
Die
individuelle Kopplungsstärke
zwischen je einem Sender-Pulsgenerator
und einem Empfänger-Pulsgenerator
kann bei der Konstruktion des Netzes festgelegt werden. Das Festlegen
der individuellen Kopplungsstärke/n
kann durch entsprechendes Ausbilden der jeweiligen Signal-Gewichtungs-Einrichtung/en erfolgen,
d. h. ein gepulstes Signal (Puls) eines Sender-Pulsgenerators, welches an einem Signalausgang
der zugehörigen
Schwellwertentscheider-Einrichtung als Ausgangssignal bereitgestellt
wird, kann mit Hilfe einer Signal-Gewichtungs-Einrichtung, welche
mit dem Signalausgang dieser Schwellwertentscheider-Einrichtung gekoppelt
ist, mit einem individuellen vorgebbaren Kopplungsgewicht gewichtet
werden. Die Signal-Gewichtungs-Einrichtung kann wiederum mit einem
Intern-Signaleingang einer anderen Schwellwertentscheider-Einrichtung,
i. e. der zu einem Empfänger-Pulsgenerator
zugehörigen
Schwellwertentscheider-Einrichtung,
gekoppelt sein, so dass das mit dem individuellen vorgebbaren Kopplungsgewicht
gewichtete gepulste Ausgangssignal des Sender-Pulsgenerators an
dem Intern-Signaleingang der zu dem Empfänger-Pulsgenerator zugehörigen Schwellwertentscheider-Einrichtung
bereitgestellt wird.
-
Auf
die oben beschriebene Weise können
die einzelnen Pulsgeneratoren, allgemein Schwellwertentscheider-Einrichtungen, des
Zufallszahlengenerators zumindest teilweise gekoppelt bzw. vernetzt
sein. Zumindest teilweise vernetzt bzw. zumindest teilweise gekoppelt
bedeutet, dass eine Schwellwertentscheider-Einrichtung mit jeder
anderen Schwellwertentscheider-Einrichtung gekoppelt sein kann aber
nicht muss. Anders ausgedrückt
können
die Schwellwertentscheider-Einrichtungen vollvernetzt (vollvermascht)
oder auch nur teilvernetzt (teilvermascht) sein.
-
Eine
Schwellwertentscheider-Einrichtung eines Empfänger-Pulsgenerators kann zum Beispiel eingangsseitig
mit k (k ≤ n – 1) anderen
Schwellwertentscheider-Einrichtungen gekoppelt sein. Das bedeutet, dass
die Schwellwertentscheider-Einrichtung
k Intern-Signaleingänge
aufweist, wobei jeder der k Intern-Signaleingänge jeweils mit einer von k
Signal-Gewichtungs-Einrichtungen
gekoppelt sein kann, welche Signal-Gewichtungs-Einrichtungen wiederum jeweils
mit einem Signalausgang der k anderen Schwellwertentscheider-Einrichtungen gekoppelt
ist. An den k Intern-Signaleingängen
der Schwellwertentscheider-Einrichtung werden die individuell gewichteten,
gepulsten Ausgangssignale der k anderen Schwellwertentscheider-Einrichtungen
(d. h. der k Sender-Pulsgeneratoren)
als k interne Eingangssignale empfangen. Weiterhin kann an mindestens
einem Extern-Signaleingang der Schwellwertentscheider-Einrichtung
mindestens ein konstantes externes Eingangssignal empfangen werden.
Mit Hilfe der Summen-Bildungs-Einrichtung der Schwellwertentscheider-Einrichtung wird
aus den k internen Eingangssignalen (d. h. den gewichteten Pulsen der
k anderen Schwellwertentscheider-Einrichtungen)
und dem mindestens einen externen kontinuierlichen Eingangssignal
ein Summensignal gebildet. Das Summensignal kann anschaulich als
synaptischer Strom angesehen werden, welcher zu dem Empfänger-Pulsgenerator
der Schwellwertentscheider-Einrichtung weitergeleitet wird.
-
Bei
einer Ausbildung des Empfänger-Pulsgenerators
als Integrate-and-Fire-Neuron wird anschaulich während einer Empfangsphase des
Integrate-and-Fire-Neurons der synaptische Strom zu einem Membranpotential
zeitlich aufintegriert.
-
Bezeichnet
man zum Beispiel die zu dem Empfänger-Pulsgenerator (Empfänger-Neuron)
zugehörige Schwellwertentscheider-Einrichtung
mit K, so gilt für
die zeitliche Änderung
des Membranpotentials A
K an dem Empfänger-Neuron:
-
In
Gleichung (1) bezeichnen AK das Membranpotential
an dem Empfänger-Neuron
der Schwellwertentscheider-Einrichtung K, IK ein
an einem Extern-Signaleingang der Schwellwertentscheider-Einrichtung K empfangenes
zeitlich konstantes externes Eingangssignal bzw. Eingangsstrom (der
Einfachheit halber wird angenommen, dass die Schwellwertentscheider-Einrichtung
K nur ein externes Eingangssignal empfängt), XL ein
gepulstes Ausgangssignal einer mit einem Intern-Signaleingang der Schwellwertentscheider-Einrichtung
K gekoppelten Schwellwertentscheider-Einrichtung L, WKL das
Kopplungsgewicht, mit dem das Ausgangssignal XL der
Schwellwertentscheider-Einrichtung L gewichtet wird (mit Hilfe einer
Signal-Gewichtungs-Einrichtung, welche mit dem Ausgang der Schwellwertentscheider-Einrichtung
L gekoppelt ist, an dem das Signal XL bereitgestellt
wird) und XKL das mit dem Kopplungsgewicht
WKL gewichtete Ausgangssignal XL (d.
h. XKL = WKLXL).
-
In
Gleichung (1) wird über
alle Schwellwertentscheider-Einrichtungen
L summiert (d. h. die gewichteten Ausgangssignale XKL =
WKLXL werden aufsummiert)
und zu der Summe ΣL WKLXL wird
das externe Eingangssignal IK hinzuaddiert,
wodurch das Summensignal IK + ΣL WKLXL erhalten wird.
Das Bilden des Summensignals erfolgt mit Hilfe der Summensignal-Bildungs-Einrichtung.
-
Integriert
man Gleichung (1) über
die Zeit t, so kann das Membranpotential A
K des
Empfänger-Pulsgenerators
erhalten werden. Überschreitet
das Membranpotential A
K (z. B. zum Zeitpunkt
t') eine vorgegebene konstante
Schwelle (bzw. Schwellenwert) Θ,
so wird von dem Pulsgenerator für
eine vorgegebene Zeitdauer t
p ein Puls mit
konstantem Signalpegel bzw. konstanter Pulshöhe h
p ausgesendet.
Mit anderen Worten kann für
den Wert des von dem Pulsgenerator gesendeten Ausgangssignals X
K gelten:
wobei Δt
1 den zeitlichen Abstand zu einem vorangegangenen
Puls des Pulsgenerators bezeichnet und Δt
2 den zeitlichen
Abstand zu einem nachfolgenden Puls des Pulsgenerators bezeichnet.
-
Anschließend (d.
h. nach Senden des Pulses) wird das Membranpotential AK auf
einen vorgegebenen Signalpegel zurückgesetzt und die während des
Sendens des Pulsgenerators unterbrochene Integration freigegeben.
-
Der
Schwellenwert Θ für das Membranpotential
kann normiert sein und beispielsweise zwischen 0.97 V und 1.03 V
betragen, zum Beispiel 1 V. Die Pulshöhe hp kann
ebenfalls normiert sein und beispielsweise zwischen 0.97 V und 1.03
V betragen, zum Beispiel 1 V. Die Pulsdauer tp kann
zwischen 0.97 ms und 1.03 ms betragen, zum Beispiel 1 ms. Alternativ
können
für den
Schwellenwert, die Pulshöhe
oder die Pulsdauer aber auch andere Werte gewählt werden.
-
Bei
gegebener Wahl der zeitlich konstanten externen analogen Eingangssignale
und der zeitlich konstanten Kopplungsstärken bzw. Kopplungsgewichte
ergibt sich eine statistische Verteilung der Pulsabstände für jeden
einzelnen Pulsgenerator bzw. jedes einzelne Neuron. Ebenso ergibt
sich bei Betrachtung eines Teilnetzes von m (m ≤ n) beliebig ausgewählten Pulsgeneratoren
des Netzes eine statistische Verteilung der entstehenden m-Bit-Pulsmuster.
Sowohl die zeitlichen Pulsmuster eines einzelnen Pulsgenerators
als auch die zeitlichen Pulsmuster eines Teilnetzes von m beliebig
ausgewählten
Pulsgeneratoren des Netzes sind nicht-periodisch. Mit anderen Worten weist
zum Beispiel die zeitliche Folge der Zeitintervalle zwischen aufeinander
folgenden Pulsen bzw. gepulsten Ausgangssignalen eines Pulsgenerators
keine Periodizität
auf.
-
Ein
Aspekt der Erfindung kann darin gesehen werden, dass erkannt wurde,
dass sich aufgrund der statistischen Verteilung der Pulsmuster die
Pulsmuster eines oder mehrerer Pulsgeneratoren zur Erzeugung von Zufallszahlen
eignen.
-
Gemäß einer
anderen Ausgestaltung der Erfindung weist die Signal-Erfass-Einrichtung
mindestens ein Register auf, welches mindestens eine Register mit
mindestens einem Signalausgang der Mehrzahl von Schwellwertentscheider-Einrichtungen gekoppelt
ist.
-
Ein
in der Signal-Erfass-Einrichtung ausgebildetes Register kann als
1-Bit-Register ausgebildet sein und zum Auskoppeln des Pulssignals
einer Schwellwertentscheider-Einrichtung bzw. eines in der Schwellwertentscheider-Einrichtung
ausgebildeten Pulsgenerators dienen. Anschaulich kann das 1-Bit-Register
in Abhängigkeit
von dem Pulssignal zwei Zustände
annehmen, und somit eine binäre
Informationseinheit, i. e. ein Bit, speichern.
-
Zum
Auskoppeln des Pulssignals eines Pulsgenerators kann der Signalausgang
der zugehörigen Schwellwertentscheider-Einrichtung mit einem
Signaleingang eines 1-Bit-Registers gekoppelt sein. An einem Taktsignal-Eingang
des Registers kann ein Taktsignal bereitgestellt werden. Das Taktsignal
kann als periodisches Signal mit einer Periode T ausgebildet sein.
Zum Beispiel bei jeder positiven Taktflanke des an dem Taktsignal-Eingang
des Registers bereitgestellten Taktsignals kann der gegenwärtige Zustand
des Pulssignals des Pulsgenerators in das 1-Bit-Register übertragen
werden. Der Zustand des 1-Bit-Registers kann als 1-Bit-Zufallszahl
interpretiert werden.
-
Zur
Erzeugung von k 1-Bit-Zufallszahlen kann der Zustand des Pulssignals
im zeitlichen Abstand T fortlaufend abgetastet werden. Wenn beispielsweise
das Zeitintervall T, d. h. die Periode des Taktsignals, in Sekunden
gemessen wird, kann anschaulich alle T Sekunden der Zustand des
Pulssignals in das 1-Bit-Register übertragen werden und aus dem
1-Bit-Register ausgelesen
werden. Zur Erzeugung von k 1-Bit-Zufallszahlen kann das 1-Bit-Register
insgesamt k-mal ausgelesen werden. Das Erzeugen von k 1-Bit-Zufallszahlen
benötigt
daher in diesem Fall insgesamt k Takte bzw. k·T Sekunden.
-
In
Verallgemeinerung zu den vorangegangenen Ausführungen können zum Auskoppeln der Pulssignale
von m Pulsgeneratoren die Signalausgänge der zugehörigen m
Schwellwertentscheider-Einrichtungen mit
je einem 1-Bit-Register verbunden werden. Die Signal-Erfass-Einrichtung
weist also in diesem Fall m 1-Bit-Register,
wie oben beschrieben, auf, wobei jeweils der Signaleingang eines
1-Bit-Registers mit einem Signalausgang einer Schwellwertentscheider-Einrichtung
gekoppelt ist.
-
Gemäß einer
anderen Ausgestaltung der Erfindung kann an den Taktsignal-Eingängen aller
1-Bit-Register ein Taktsignal bereitgestellt werden, wobei an allen
Taktsignal-Eingängen
ein gemeinsames Taktsignal bereitgestellt werden kann. Anschaulich
können
somit alle m 1-Bit-Register mit Hilfe desselben Taktsignals getaktet
werden.
-
Zum
Auskoppeln der m Pulssignale kann zum Beispiel bei jeder positiven
Flanke des Taktsignals der gegenwärtige Zustand der Pulssignale
in die m 1-Bit-Register übertragen
werden. Genauer gesagt wird in jedes der m 1-Bit-Register der gegenwärtige Zustand
jeweils eines Pulssignals eines Pulsgenerators bzw. einer Schwellwertentscheider-Einrichtung übertragen.
Der Zustand der m 1-Bit-Register kann als m-Bit-Zufallszahl interpretiert werden. Zur
Erzeugung von k m-Bit-Zufallszahlen
können,
wie oben im Zusammenhang mit nur einem 1-Bit-Register beschrieben,
die Zustände
der m Pulssignale im zeitlichen Abstand T, d. h. mit der Periodendauer
des Taktsignals, fortlaufend abgetastet werden, wobei das Erzeugen
von k m-Bit-Zufallszahlen insgesamt k Takte benötigt.
-
Das
mindestens eine in der Signal-Erfass-Einrichtung ausgebildete Register
kann als taktgesteuertes Flip-Flop (z. B. taktflankengesteuertes
Flip-Flop) ausgebildet sein, wobei das taktgesteuerte Flip-Flop
einen Signaleingang zum Empfangen eines Eingangssignals, einen Taktsignal-Eingang
zum Empfangen eines Taktsignals sowie einen Signalausgang zum Bereitstellen
eines Ausgangssignals aufweisen kann.
-
Gemäß einer
anderen Ausgestaltung der Erfindung weist die Signal-Erfass-Einrichtung
mindestens ein Toggle-Flip-Flop auf, welches mindestens eine Toggle-Flip-Flop
zwischen mindestens einen Signalausgang der Mehrzahl von Schwellwertentscheider-Einrichtungen
und mindestens einen Signaleingang mindestens eines mit dem mindestens
einen Signalausgang der Mehrzahl von Schwellwertentscheider-Einrichtungen gekoppelten
Registers geschaltet ist.
-
Ein
zwischen einen Signalausgang einer Schwellwertentscheider-Einrichtung
und einen Signaleingang eines Registers der Signal-Erfass-Einrichtung
geschaltetes Toggle-Flip-Flop kann einen Signaleingang aufweisen,
welcher Signaleingang mit dem Signalausgang der Schwellwertentscheider-Einrichtung
gekoppelt ist, einen Signalausgang, welcher mit dem Signaleingang
des Registers gekoppelt ist, sowie einen Reset-Signal-Eingang, an
welchem ein Reset-Signal empfangen werden kann.
-
Zur
Auskopplung der Pulssignale von m ausgewählten Pulsgeneratoren (bzw.
Schwellwertentscheider-Einrichtungen) können m Toggle-Flip-Flops mit
den m Pulssignalen der m Schwellwertentscheider-Einrichtungen verbunden
werden, d. h. jeweils ein Toggle-Flip-Flop wird zwischen einen Signalausgang
einer Schwellwertentscheider-Einrichtung und einen Signaleingang
eines Registers geschaltet. Bei einem Puls des über den Signalausgang der Schwellwertentscheider-Einrichtung eingangsseitig
mit dem Toggle-Flip-Flop verbundenen Pulsgenerators invertiert das
Toggle-Flip-Flop seinen jeweiligen Zustand. Anders ausgedrückt wird ein
von dem Pulsgenerator erzeugtes gepulstes Signal an dem Signalausgang
der zugehörigen
Schwellwertentscheider-Einrichtung
bereitgestellt, und an dem mit dem Signalausgang gekoppelten Signaleingang
des Toggle-Flip-Flops empfangen. Jedesmal, wenn an dem Signaleingang
des Toggle-Flip-Flops ein Pulssignal empfangen wird, invertiert
das Toggle-Flip-Flop seinen momentanen Zustand.
-
Die
Signalausgänge
der m Toggle-Flip-Flops sind mit m 1-Bit-Registern verbunden, genauer gesagt ist
jeweils ein Signalausgang eines Toggle-Flip-Flops mit einem Signaleingang
eines 1-Bit-Registers gekoppelt. Zum Beispiel bei jeder positiven
Taktflanke des Taktsignals können
die Zustände
der m Toggle-Flip-Flops in die m 1-Bit-Register übernommen werden und stehen
dort als m-Bit-Zufallszahl zur Verfügung. Nachdem die Zustände der
Toggle-Flip-Flops in die Register übernommen worden sind, können die
Zustände
der Toggle-Flip-Flops durch ein Reset-Signal, welches zum Beispiel
gleichzeitig an den Reset-Signal-Eingängen aller Toggle-Flip-Flops
bereitgestellt wird, zurückgesetzt
werden.
-
In
einer anderen Ausgestaltung der Erfindung ist es vorgesehen, dass
die Signal-Erfass-Einrichtung mindestens ein Schieberegister mit
mindestens zwei in Serie geschalteten Registern aufweist, welches
mindestens eine Schieberegister mit mindestens einem Signalausgang
der Mehrzahl von Schwellwertentscheider-Einrichtungen gekoppelt
ist. Unter zwei in Serie geschalteten Registern wird in diesem Zusammenhang verstanden,
dass ein Signalausgang eines ersten Registers mit einem Signaleingang
eines zweiten Registers gekoppelt ist.
-
Anschaulich
ist in dieser Ausgestaltung der Signalausgang einer Schwellwertentscheider-Einrichtung bzw.
eines mit der Schwellwertentscheider-Einrichtung gekoppelten Toggle-Flip-Flops nicht mit nur
einem Register gekoppelt sondern mit einem Schieberegister, welches
Schieberegister mindestens zwei in Serie geschaltete Register aufweist.
Wenn m Signalausgänge
von m Schwellwertentscheider-Einrichtungen jeweils mit einem Schieberegister,
welches k in Serie geschaltete 1-Bit-Register aufweist, gekoppelt
werden, lassen sich somit k·m-Bit-Zufallszahlen
erzeugen, indem anschaulich k Spalten von m 1-Bit-Registern kaskadiert
werden.
-
Die
insgesamt k·m
1-Bit-Register können
alle mit Hilfe desselben Taktsignals getaktet werden. Nach k Takten
des Taktsignals steht eine neue k·m-Bit-Zufallszahl an den
k·m Registerausgängen, d.
h. den Signalausgängen
der k·m
1-Bit-Register zur
Verfügung,
wobei an jedem Registerausgang genau ein Bit bereitgestellt wird.
-
Ein
Aspekt der Erfindung kann darin gesehen werden, dass die Eigenschaft
von pulskodierten neuronalen Netzen mit konstanten Kopplungsgewichten,
statistisch verteilte Pulsmuster zu generieren, ausgenutzt wird.
Durch die Ergodizität
des Mustergenerierungsprozesses ist sichergestellt, dass im Laufe
der Mustergenerierung keine periodischen Muster auftreten. Dadurch
sind die entstehenden Pulsmuster für die Erzeugung von Zufallszahlen
geeignet.
-
Ausführungsbeispiele
der Erfindung sind in den Figuren dargestellt und werden im Folgenden
näher erläutert. In
den Figuren sind gleiche Elemente mit gleichen Bezugszeichen versehen.
Die in den Figuren gezeigten Darstellungen sind schematisch und
daher nicht maßstabsgetreu
gezeichnet.
-
Es
zeigen
-
1A einen
Zufallszahlengenerator gemäß einem
ersten Ausführungsbeispiel
der Erfindung;
-
1B einen
Zufallszahlengenerator gemäß einem
zweiten Ausführungsbeispiel
der Erfindung;
-
2 zwei
gekoppelte Schwellwertentscheider-Einrichtungen eines Zufallszahlengenerators
gemäß einem
Ausführungsbeispiel
der Erfindung;
-
3A einen
Zufallszahlengenerator gemäß einem
dritten Ausführungsbeispiel
der Erfindung;
-
3B ein
erstes Taktschema zur Erzeugung von m-Bit-Zufallszahlen;
-
4A einen
Zufallszahlengenerator gemäß einem
vierten Ausführungsbeispiel
der Erfindung;
-
4B ein
zweites Taktschema zur Erzeugung von m-Bit-Zufallszahlen;
-
5 einen
Zufallszahlengenerator gemäß einem
fünften
Ausführungsbeispiel
der Erfindung;
-
6 einen
Zufallszahlengenerator gemäß einem
sechsten Ausführungsbeispiel
der Erfindung;
-
7 experimentell
aufgenommene Verteilungsfunktionen von 5-Bit-Zufallszahlen, welche
Zufallszahlen mit Hilfe eines Zufallszahlengenerators gemäß einem
siebten Ausführungsbeispiel
der Erfindung erzeugt wurden.
-
1A zeigt
einen Zufallszahlengenerator 100 gemäß einem ersten Ausführungsbeispiel
der Erfindung. Der Zufallszahlengenerator weist eine erste Schwellwertentscheider-Einrichtung 101,
eine zweite Schwellwertentscheider-Einrichtung 102, eine
dritte Schwellwertentscheider-Einrichtung 103, eine vierte Schwellwertentscheider-Einrichtung 104 und
eine fünfte
Schwellwertentscheider-Einrichtung 105 auf. Jede der fünf Schwellwertentscheider-Einrichtungen 101, 102, 103, 104, 105 weist
einen Extern-Signaleingang auf (vgl. 2), an dem
ein externes Eingangssignal mit jeweils vorgegebener konstanter
Signalstärke
bzw. Amplitude empfangen wird: an dem Extern-Signaleingang der ersten Schwellwertentscheider-Einrichtung 101 wird
ein erstes externes Eingangssignal 111 empfangen (dargestellt
durch den Pfeil 111), an dem Extern-Signaleingang der zweiten Schwellwertentscheider-Einrichtung 102 wird
ein zweites externes Eingangssignal 112 empfangen (dargestellt
durch den Pfeil 112), an dem Extern-Signaleingang der dritten Schwellwertentscheider-Einrichtung 103 wird
ein drittes externes Eingangssignal 113 empfangen (dargestellt
durch den Pfeil 113), an dem Extern-Signaleingang der vierten Schwellwertentscheider-Einrichtung 104 wird
ein viertes externes Eingangssignal 114 empfangen (dargestellt
durch den Pfeil 114), und an dem Extern-Signaleingang der fünften Schwellwertentscheider-Einrichtung 105 wird
ein erstes externes Eingangssignal 115 empfangen (dargestellt durch
den Pfeil 115).
-
Weiterhin
weisen die Schwellwertentscheider-Einrichtungen 101, 102, 103, 104, 105 jeweils
vier Intern-Signaleingänge
(vgl. 2) zum Empfangen von internen Eingangssignalen
sowie einen Signalausgang (vgl. 2) zum Bereitstellen
eines Ausgangssignals auf.
-
Die
fünf Schwellwertentscheider-Einrichtungen 101, 102, 103, 104, 105 sind
miteinander gekoppelt, in dem Sinne, dass mindestens ein Signalausgang
mindestens einer Schwellwertentscheider-Einrichtung zumindest mittelbar
mit mindestens einem Intern-Signaleingang mindestens einer anderen
Schwellwertentscheider-Einrichtung gekoppelt ist. Die Kopplung von
je zwei Schwellwertentscheider-Einrichtungen wird durch einen Doppelpfeil 110 verdeutlicht.
Anschaulich bilden die fünf
Schwellwertentscheider-Einrichtungen 101, 102, 103, 104, 105 somit
ein Netzwerk. Die Pfeilrichtung der Doppelpfeile 110 gibt
die Laufrichtung eines Signals an, i. e. von einem Signalausgang
einer Schwellwertentscheider-Einrichtung
zu einem Intern-Signaleingang einer anderen Schwellwertentscheider-Einrichtung
(vgl. 2).
-
Die
fünfte
Schwellwertentscheider-Einrichtung 105 ist zusätzlich mit
einer Signal-Erfass-Einrichtung 120 gekoppelt, wobei die
Kopplung durch den Pfeil 125 verdeutlicht ist. Ein an dem
Signalausgang der fünften Schwellwertentscheider-Einrichtung 105 bereitgestelltes
Ausgangssignal kann somit von der Signal-Erfass-Einrichtung 120 erfasst
werden und zum Erzeugen von Zufallszahlen verwendet werden, was
im Zusammenhang mit den nachfolgenden Figuren genauer erläutert wird.
-
Abgesehen
von der zusätzlichen
Kopplung der fünften
Schwellwertentscheider-Einrichtung 105 mit der Signal-Erfass-Einrichtung 120 ist
die Topologie des aus den fünf
Schwellwertentscheider-Einrichtungen 101, 102, 103, 104, 105 gebildeten
Netzwerkes vollkommen symmetrisch, d. h. jede Schwellwertentscheider-Einrichtung
weist dieselbe Vernetzung auf. Insbesondere ist jede Schwellwertentscheider-Einrichtung
mit allen anderen Schwellwertentscheider-Einrichtungen gekoppelt,
wobei die Doppelpfeile 110 symbolisieren, dass alle Kopplungen
bi-direktional sind, in dem Sinne, dass z. B. der Signalausgang
der ersten Schwellwertentscheider-Einrichtung 101 mit einem Signaleingang
der zweiten Schwellwertentscheider-Einrichtung 102 gekoppelt
ist und umgekehrt auch der Signalausgang der zweiten Schwellwertentscheider-Einrichtung 102 mit einem
Signaleingang der ersten Schwellwertentscheider-Einrichtung 101 gekoppelt
ist. Gleiches gilt für
alle anderen möglichen
Paarungen von Schwellwertentscheider-Einrichtungen des Zufallszahlengenerators 100. Anschaulich
sind die gekoppelten Schwellwertentscheider-Einrichtungen 101, 102, 103, 104, 105 des
in 1A gezeigten Zufallszahlengenerators 100 daher
vollvernetzt bzw. vollvermascht.
-
Für die Funktion
eines Zufallszahlengenerators gemäß der Erfindung ist es jedoch
nicht notwendig, dass die miteinander gekoppelten Schwellwertentscheider-Einrichtungen
vollvernetzt sind. Das folgende Ausführungsbeispiel zeigt einen
Zufallszahlengenerator, bei dem die Schwellwertentscheider-Einrichtungen nur teilvernetzt
sind.
-
1B zeigt
einen Zufallszahlengenerator 150 gemäß einem zweiten Ausführungsbeispiel
der Erfindung, mit einer ersten Schwellwertentscheider-Einrichtung 101,
einer zweiten Schwellwertentscheider-Einrichtung 102, einer
dritten Schwellwertentscheider-Einrichtung 103, einer vierten
Schwellwertentscheider-Einrichtung 104, einer fünften Schwellwertentscheider-Einrichtung 105 und
einer sechsten Schwellwertentscheider-Einrichtung 106,
wobei die sechs Schwellwertentscheider-Einrichtungen 101, 102, 103, 104, 105, 106 teilweise
miteinander gekoppelt bzw. teilvernetzt sind.
-
Jede
der sechs Schwellwertentscheider-Einrichtungen 101, 102, 103, 104, 105, 106 weist
einen Extern-Signaleingang auf (vgl. 2), an dem
ein externes Eingangssignal mit jeweils vorgegebener konstanter Signalstärke bzw.
Amplitude empfangen wird. An dem Extern-Signaleingang jeder Schwellwertentscheider-Einrichtung
wird entsprechend ein externes Eingangssignal empfangen, was durch
die Pfeile 111, 112, 113, 114, 115, 116 in 1B verdeutlicht
ist.
-
Weiterhin
weisen die erste Schwellwertentscheider-Einrichtung 101,
die zweite Schwellwertentscheider-Einrichtung 102, die
dritte Schwellwertentscheider-Einrichtung 103 und die fünfte Schwellwertentscheider-Einrichtung 105 jeweils
zwei Intern-Signaleingänge (vgl. 2)
zum Empfangen von zwei internen Eingangssignalen auf, während die
vierte Schwellwertentscheider-Einrichtung 104 und die sechste
Schwellwertentscheider-Einrichtung 105 jeweils drei Intern-Signaleingänge aufweisen.
Ferner weist jede der sechs Schwellwertentscheider-Einrichtungen 101, 102, 103, 104, 105, 106 einen
Signalausgang (vgl. 2) zum Bereitstellen eines Ausgangssignals
auf.
-
Die
erste Schwellwertentscheider-Einrichtung 101, die vierte
Schwellwertentscheider-Einrichtung 104, die fünfte Schwellwertentscheider-Einrichtung 105 sowie
die sechste Schwellwertentscheider-Einrichtung 106 sind
mit einer Signal-Erfass-Einrichtung 120 gekoppelt,
wobei die Kopplung durch die Pfeile 121, 124, 125, 126 verdeutlicht
ist. Die an den Signalausgängen
der ersten Schwellwertentscheider-Einrichtung 101, der
vierten Schwellwertentscheider-Einrichtung 104, der fünften Schwellwertentscheider-Einrichtung 105 und
der sechsten Schwellwertentscheider-Einrichtung 106 bereitgestellten
Ausgangssignale können
somit von der Signal-Erfass-Einrichtung 120 erfasst
werden und zum Erzeugen von Zufallszahlen verwendet werden, was
im Zusammenhang mit den nachfolgenden Figuren genauer erläutert wird.
-
Zwischen
der ersten Schwellwertentscheider-Einrichtung 101 und der
zweiten Schwellwertentscheider-Einrichtung 102, zwischen
der zweiten Schwellwertentscheider-Einrichtung 102 und
der dritten Schwellwertentscheider-Einrichtung 103, zwischen
der dritten Schwellwertentscheider-Einrichtung 103 und
der vierten Schwellwertentscheider-Einrichtung 104, zwischen
der vierten Schwellwertentscheider-Einrichtung 104 und der
fünften
Schwellwertentscheider-Einrichtung 105, zwischen der fünften Schwellwertentscheider-Einrichtung 105 und
der sechsten Schwellwertentscheider-Einrichtung 106, sowie
zwischen der sechsten Schwellwertentscheider-Einrichtung 106 und der ersten
Schwellwertentscheider-Einrichtung 101 bestehen
jeweils bi-direktionale Kopplungen, in dem oben beschriebenen Sinne,
was durch die Doppelpfeile 110 in 1B symbolisiert ist.
-
Zwischen
der zweiten Schwellwertentscheider-Einrichtung 102 und
der vierten Schwellwertentscheider-Einrichtung 104, sowie
zwischen der vierten Schwellwertentscheider-Einrichtung 104 und
der sechsten Schwellwertentscheider-Einrichtung 106 bestehen
jedoch nur uni-direktionale Kopplungen, derart, dass der Signalausgang
der zweiten Schwellwertentscheider-Einrichtung 102 mit einem Intern-Signaleingang
der vierten Schwellwertentscheider-Einrichtung 104 gekoppelt
ist aber nicht umgekehrt, und dass der Signalausgang der vierten
Schwellwertentscheider-Einrichtung 104 mit einem Intern-Signaleingang der
sechsten Schwellwertentscheider-Einrichtung 106 gekoppelt
ist aber nicht umgekehrt, was durch die Einfachpfeile 110' verdeutlicht
ist.
-
Ferner
weist die erste Schwellwertentscheider-Einrichtung 101 überhaupt
keine direkten Kopplungen mit der dritten Schwellwertentscheider-Einrichtung 103,
der vierten Schwellwertentscheider-Einrichtung 104 und
der fünften
Schwellwertentscheider-Einrichtung 105 auf, und sowohl
die zweite Schwellwertentscheider-Einrichtung 102 als auch
die dritte Schwellwertentscheider-Einrichtung 103 weisen
keine direkten Kopplungen mit der fünften Schwellwertentscheider-Einrichtung 105 und
der sechsten Schwellwertentscheider-Einrichtung 106 auf.
-
Im
Zusammenhang mit den in 1A und 1B gezeigten
Ausführungsbeispielen
ist anzumerken, dass die Darstellungen der Zufallszahlengeneratoren 100 bzw. 150,
insbesondere die gezeigte Anordnung der miteinander gekoppelten
Schwellwertentscheider-Einrichtungen 101, 102, 103, 104, 105, 106,
als schematisch zu verstehen ist. Die tatsächliche physikalische Anordnung
der einzelnen Schwellwertentscheider-Einrichtungen bzw. der Signalerfass-Einrichtung 120 kann daher
von den in den 1A und 1B gezeigten Anordnungen
abweichen.
-
2 zeigt
beispielhaft die Kopplung einer ersten Schwellwertentscheider-Einrichtung
L mit einer zweiten Schwellwertentscheider-Einrichtung K in größerem Detail.
Die beiden Schwellwertentscheider-Einrichtungen L, K sind Teil eines
Zufallszahlengenerators, welcher Zufallszahlengenerator ähnlich den
in 1A und 1B gezeigten
Zufallszahlengeneratoren 100 bzw. 150 ausgebildet
sein kann.
-
Die
erste Schwellwertentscheider-Einrichtung L weist einen Extern-Signaleingang 201a auf,
an welchem ein vorgegebenes externes Eingangssignal 202a,
z. B. ein analoges Eingangssignal mit vorgegebener zeitlich unveränderlicher
Amplitude, empfangen wird. Die erste Schwellwertentscheider-Einrichtung L weist ferner
einen ersten Intern-Signaleingang 203a, an welchem ein
erstes internes Eingangssignal 204a empfangen wird, sowie
einen zweiten Intern-Signaleingang 203a', an welchem ein zweites internes
Eingangssignal 204a' empfangen
wird. Bei den zwei internen Eingangssignalen 204a und 204a' kann es sich
beispielsweise um zwei an den Signalausgängen zweier anderer Schwellwertentscheider-Einrichtungen bereitgestellte
Ausgangssignale handeln.
-
Aus
dem an dem Extern-Signaleingang 201a empfangenen externen
Eingangssignal 202a und den an den Intern-Signaleingängen 203a, 203a' empfangenen
internen Eingangssignalen 204a, 204a' wird mit Hilfe einer
in der ersten Schwellwertentscheider-Einrichtung L ausgebildeten Summensignal-Bildungs-Einrichtung 205a ein
Summensignal 206a gebildet.
-
Die
erste Schwellwertentscheider-Einrichtung L weist weiterhin einen
als Integrate-and-Fire-Neuron ausgebildeten Pulsgenerator 207a auf,
welcher mit der Summensignal-Bildungs-Einrichtung 205a gekoppelt ist.
Das von der Summensignal-Bildungs-Einrichtung 205a gebildete
Summensignal 206a kann anschaulich als synaptischer Strom
interpretiert werden, welcher mit Hilfe des Integrate-and-Fire-Neurons 207a zeitlich
aufintegriert wird. Sobald das zeitlich aufintegrierte Summensignal 206a bzw.
der zeitlich aufintegrierte synaptische Strom 206a eine
vorgebbare Schwelle überschreitet,
wird von dem Pulsgenerator 207a bzw. dem Integrate-and-Fire-Neuron 207a ein
definiertes, d. h. ein vorgebbares gepulstes Ausgangssignal XL erzeugt und an einem in der ersten Schwellwertentscheider-Einrichtung
L ausgebildeten Signalausgang 208a bereitgestellt.
-
Das
gepulste Ausgangssignal XL wird mit Hilfe
einer mit dem Signalausgang 208a der ersten Schwellwertentscheider-Einrichtung L gekoppelten
Signal-Gewichtungs-Einrichtung KL mit einem individuellen, vorgebbaren
Kopplungsgewicht WKL gewichtet. Anders ausgedrückt wird
mit Hilfe der Signal-Gewichtungs-Einrichtung
KL aus dem Ausgangssignal XL ein gewichtetes
Ausgangssignal XKL erzeugt, bei welchem
gewichteten Ausgangssignal XKL die Signalstärke bzw.
Amplitude im Vergleich zu dem Ausgangssignal XL mit
einem vorgegebenen Faktor skaliert ist.
-
Das
gewichtete Ausgangssignal XKL wird an einem
ersten Intern-Signaleingang 203b der zweiten Schwellwertentscheider-Einrichtung K als
ein erstes internes Eingangssignal empfangen. Die zweite Schwellwertentscheider-Einrichtung
K weist zusätzlich
zu dem ersten Intern-Signaleingang 203b einen zweiten Intern-Signaleingang 203b', einen dritten
Intern-Signaleingang 203b'' und einen vierten
Intern-Signaleingang 203b''' auf,
an welchen Intern-Signaleingängen 203b', 203b'', 203b''' entsprechend
ein zweites internes Eingangssignal 204b', ein drittes internes Eingangssignal 204b'' und ein viertes internes Eingangssignal 204b''' empfangen
werden. Bei den internen Eingangssignalen 204b', 204b'' und 204b''' kann es sich
z. B. um gepulste Ausgangssignale von drei anderen Schwellwertentscheider- Einrichtungen handeln,
welche Pulssignale jeweils mit Hilfe von Signal-Gewichtungs-Einrichtungen
mit individuellen Kopplungsgewichten gewichtet sind.
-
Weiterhin
sind in der zweiten Schwellwertentscheider-Einrichtung K ein erster Extern-Signaleingang 201b und
ein zweiter Extern-Signaleingang 201b' ausgebildet, an denen ein erstes
vorgebbares externes Eingangssignal 202b und ein zweites
vorgebbares externes Eingangssignal 202b' empfangen werden. Die externen
Eingangssignale 202b und 202b' können als ungepulste bzw. kontinuierliche
Signale mit zeitlich konstanter Signalstärke ausgebildet sein.
-
Aus
den gepulsten internen Eingangssignalen XKL, 204b', 204b'', 204b''' und den kontinuierlichen
externen Eingangssignalen 202b, 202b' wird mit Hilfe
einer in der zweiten Schwellwertentscheider-Einrichtung K ausgebildeten
Summensignal-Bildungs-Einrichtung 205b ein Summensignal 206b bzw.
ein synaptischer Strom 206b gebildet, welches Summensignal 206b bzw.
welcher synaptischer Strom 206b mit Hilfe eines mit der
Summensignal-Bildungs-Einrichtung 205b gekoppelten Pulsgenerators 207b,
welcher als Integrate-and-Fire-Neuron
ausgebildet ist, zeitlich aufintegriert wird. Überschreitet das zeitlich aufintegrierte
Summensignal 206b eine vorgegebene Schwelle, so wird von
dem Pulsgenerator 207b bzw. dem Integrate-and-Fire-Neuron 207b ein
Puls XK mit vorgegebener Form, d. h. z.
B. vorgegebenem zeitlichem Verlauf der Amplitude, erzeugt und an
einem Signalausgang 208b der zweiten Schwellwertentscheider-Einrichtung
K als gepulstes Ausgangssignal X bereitgestellt.
-
Das
Pulssignal XK kann wiederum an einem oder
mehreren mit dem Signalausgang 208b gekoppelten Intern-Signaleingängen anderer
(nicht gezeigter) Schwellwertentscheider-Einrichtungen als internes Eingangssignal
empfangen werden, wobei das Pulssignal XK jeweils
mit Hilfe einer oder mehrerer Signal-Gewichtungs-Einrichtungen mit
einem individuellen Kopplungsgewicht gewichtet werden kann. Eine
Möglichkeit
besteht zum Beispiel auch darin, dass das mit einem Kopplungsgewicht
(z. B. WLK) gewichtete Pulssignal XK als gewichtetes Signal (z. B. XLK) an dem ersten Intern-Signaleingang 203a oder dem
zweiten Intern-Signaleingang 203a' der ersten Schwellwertentscheider-Einrichtung
L als erstes internes Eingangssignal 204a bzw. zweites
internes Eingangssignal 204a' empfangen
wird. Das heißt,
in diesem Fall wäre
eine bi-direktionale Kopplung zwischen der ersten Schwellwertentscheider-Einrichtung
L und der zweiten Schwellwertentscheider-Einrichtung K ausgebildet,
was anschaulich einer Rückkopplung
zwischen den beiden Schwellwertentscheider-Einrichtungen L und K
entspricht.
-
3A zeigt
einen Zufallszahlengenerator 300 gemäß einem dritten Ausführungsbeispiel
der Erfindung, mit m Schwellwertentscheider-Einrichtungen K[0],
K[1], ..., K[m – 1],
welche Teil eines Netzes zumindest teilweise miteinander gekoppelter
Schwellwertentscheider-Einrichtungen sind. Das heißt, zusätzlich zu
den in 3A gezeigten m Schwellwertentscheider-Einrichtungen
K[0] bis K[m – 1]
können
noch weitere Schwellwertentscheider-Einrichtungen in dem Zufallszahlengenerator 300 ausgebildet
sein. Die gezeigten Schwellwertentscheider-Einrichtungen K[0] bis
K[m – 1]
können
untereinander und/oder mit anderen, nicht gezeigten Schwellwertentscheider-Einrichtungen
gekoppelt sein, was durch die Kopplungslinien 310 angedeutet
ist. Die Kopplungen 310 können als bi-direktionale und/oder
als uni-direktionale Kopplungen ausgebildet sein.
-
Alle
gezeigten Schwellwertentscheider-Einrichtungen K[0] bis K[m – 1] weisen
jeweils einen Signalausgang 308 auf, wobei an dem Signalausgang 308 einer
ersten Schwellwertentscheider-Einrichtung
K[0] ein erstes gepulstes Ausgangssignal XK[0] bereitgestellt
wird, an dem Signalausgang 308 einer zweiten Schwellwertentscheider-Einrichtung
K[1] ein zweites gepulstes Ausgangssignal XK[1] bereitgestellt
wird, usw.. An dem Signalausgang 308 einer m-ten Schwellwertentscheider-Einrichtung K[m – 1] schließlich wird
ein m-tes gepulstes Ausgangssignal XK[m-1] bereitgestellt.
-
Der
Zufallszahlengenerator 300 weist ferner eine Signal-Erfass-Einrichtung 320 auf,
welche mit den Signalausgängen 308 der
m Schwellwertentscheider-Einrichtungen K[0], K[1], ..., K[m – 1] gekoppelt
ist. Die Signal-Erfass-Einrichtung 320 weist m als taktgesteuerte
Flip-Flops ausgebildete Register 301 auf, wobei jeweils
ein Signaleingang 301a eines Registers 301 bzw.
eines taktgesteuerten Flip-Flops 301 mit einem Signalausgang 308 einer
der m Schwellwertentscheider-Einrichtungen
K[0], K[1], ..., K[m – 1]
gekoppelt ist. Die taktgesteuerten Flip-Flops 301 weisen
ferner jeweils einen Taktsignal-Eingang 301b auf, an welchem
ein Taktsignal C empfangen wird. Die taktgesteuerten Flip-Flops 301 bzw.
Register 301 werden dabei alle mit demselben Taktsignal
C synchron getaktet. Weiterhin weisen die taktgesteuerten Flip-Flops 301 jeweils
einen Signalausgang 301c auf, wobei an dem Signalausgang 301c eines
eingangsseitig mit der ersten Schwellwertentscheider-Einrichtung
K[0] gekoppelten Flip-Flops 301 ein
erstes Ausgangssignal D[0] bereitgestellt wird, an dem Signalausgang 301c eines
eingangsseitig mit der zweiten Schwellwertentscheider-Einrichtung
K[1] gekoppelten Flip-Flops 301 ein zweites Ausgangssignal
D[1] bereitgestellt wird, usw.. An dem Signalausgang 301c eines eingangsseitig
mit der m-ten Schwellwertentscheider-Einrichtung K[m – 1] gekoppelten
Flip-Flops 301 schließlich
wird ein m-tes Ausgangssignal D[m – 1] bereitgestellt.
-
Mit
Hilfe der in 3A gezeigten Signal-Erfass-Einrichtung 320,
welche Signal-Erfass-Eirichtung 320 mit den Signalausgängen 308 der
m Schwellwertentscheider-Einrichtungen
K[0], K[1], ..., K[m – 1]
gekoppelt ist, werden die an den Signalausgängen 308 bereitgestellten
Pulssignale XK[0], XK[1],
..., XK[m-1] erfasst, wobei anschaulich
bei jedem Takt (z. B. mit steigender Taktflanke) des Taktsignals
C der momentane Zustand des an dem Signaleingang 301a eines
mit dem Signalausgang 308 einer Schwellwertentscheider-Einrichtung gekoppelten
Registers 301 bzw. taktgesteuerten Flip-Flops 301 anliegenden
gepulsten Signals in das Register 301 übertragen wird.
-
Zum
Beispiel wird bei jedem Takt des Taktsignals C der gegenwärtige Zustand
des an dem Signalausgang 308 der ersten Schwellwertentscheider-Einrichtung
K[0] bereitgestellten gepulsten Ausgangssignals XK[0] in
das mit der ersten Schwellwertentscheider-Einrichtung 308 gekoppelte
Register 301 übertragen
und an dem Signalausgang 301c des Registers 301 als
Ausgangssignal D[0] bereitgestellt. In Analogie dazu werden bei jedem
Takt des Taktsignals C die momentanen Zustände der Pulse XK[1],
XK[2], ..., XK[m-1] in
die entsprechenden Register 301 übertragen und an den Signalausgängen 301c entsprechend
als Ausgangssignale D[1], D[2], ..., D[m – 1] bereitgestellt.
-
3B zeigt
ein Taktschema 350 zur Erzeugung von m-Bit-Zufallszahlen, welches
auf der Funktionsweise des in 3A gezeigten
Zufallszahlengenerators 300 beruht.
-
Die
nach rechts aufgetragene Achse 351 gibt die Zeit t in willkürlichen
Einheiten an. In dem Taktschema 350 sind beispielhaft die
zeitlichen Verläufe
des Ausgangssignals XK[0] der ersten Schwellwertentscheider-Einrichtung
K[0] und des Ausgangssignals D[0] des mit der ersten Schwellwertentscheider-Einrichtung K[0]
gekoppelten Registers 301 dargestellt, sowie die zeitlichen
Verläufe
des Ausgangssignals XK[1] der zweiten Schwellwertentscheider-Einrichtung K[1]
und des Ausgangssignals D[1] des mit der zweiten Schwellwertentscheider-Einrichtung
K[1] gekoppelten Registers 301. 3B zeigt,
dass die zeitlichen Verläufe
der Ausgangssignale XK[0] und XK[1] der
Schwellwertentscheider-Einrichtungen
K[0] bzw. K[1] unregelmäßige (insbesondere
nicht-periodische) Pulsmuster aufweisen mit statistisch verteilten
Zeitintervallen zwischen je zwei aufeinander folgenden Pulsen. In
dem zeitlichen Verlauf des Ausgangssignals XK[0] sind
beispielhaft die Pulsdauer tp und die Pulshöhe hp veranschaulicht. Die zeitlichen Verläufe der
Ausgangssignale XK[2], XK[3],
..., XK[m-1] der Schwellwertentscheider-Einrichtungen
K[2], K[3], ..., K[m – 1]
ergeben ähnliche
Pulsmuster, sind der Übersichtlichkeit
halber jedoch nicht in 3B gezeigt.
-
In
dem Taktschema 350 ist ferner das Taktsignal C aufgetragen,
welches als Rechteck-Signal mit Periodendauer T ausgebildet ist.
Zum Zeitpunkt t0 weist das Taktsignal C
eine steigende Flanke auf, was zur Folge hat, dass die momentanen
Zustände
der gepulsten Ausgangssignale XK[0] XK[1], ..., XK[m-1],
in die mit der jeweiligen Schwellwertentscheider-Einrichtung K[0], K[1], ..., K[m – 1] gekoppelten
Register 301 bzw. taktgesteuerten Flip-Flops 301 übertragen
werden. Zum Beispiel weist das von der ersten Schwellwertentscheider-Einrichtung K[0]
bereitgestellte gepulste Ausgangssignal XK[0] zum
Zeitpunkt t0 einen hohen Wert bzw. Signalpegel auf,
welcher hohe Signalpegel entsprechend in das mit der ersten Schwellwertentscheider-Einrichtung
K[0] gekoppelte Register 301 übertragen wird und von diesem
bis zur nächsten
positiven Taktflanke des Taktsignals C als erstes Ausgangssignal
D[0] bereitgestellt wird. Anders ausgedrückt übernimmt das mit der ersten Schwellwertentscheider-Einrichtung
K[0] gekoppelte Register 301 zum Zeitpunkt t0 den
momentanen Zustand des Pulssignals XK[0] und
behält
diesen Zustand bis zum nächsten
Takt, d. h. bis zur nächsten
positiven Flanke des Taktsignals C, welche zum Zeitpunkt t1 = t0 + T, d. h.
eine Periodendauer des Taktsignals später, auftritt. Zum Zeitpunkt
t1 wird der Zustand des gepulsten Signals
XK[0] erneut "abgefragt", in das mit der Schwellwertentscheider-Einrichtung
K[0] gekoppelte Register 301 übertragen und dort als Ausgangssignal
D[0] bereitgestellt. Dieser Vorgang wiederholt sich analog zu den
Zeitpunkten tj = t0 +
j·T (mit
j = 2, 3, 4, ...). Da bei dem in 3B gezeigten
Beispiel das Ausgangssignal XK[0] der ersten
Schwellwertentscheider-Einrichtung
K[0] zum Zeitpunkt t1 einen niedrigen Wert
aufweist, nimmt das Ausgangssignal D[0] zum Zeitpunkt t1 ebenfalls
einen niedrigen Wert an.
-
Das
Ausgangssignal XK[1] der zweiten Schwellwertentscheider-Einrichtung K[1]
weist zum Zeitpunkt t0 einen niedrigen Wert
auf, welcher entsprechend zu einem niedrigen Ausgangssignal D[1]
des mit der zweiten Schwellwertentscheider-Einrichtung K[1] gekoppelten
Registers 301 führt.
Zum Zeitpunkt t1 weist das Ausgangssignal
XK[1] der zweiten Schwellwertentscheider-Einrichtung K[1]
erneut einen niedrigen Wert auf, so dass D[1] seinen niedrigen Wert
beibehält.
-
In
analoger Weise werden zu den Zeitpunkten tj =
t0 + j·T
(mit j = 0, 1, 2, ...) die momentanen Werte der gepulsten Ausgangssignale
XK[2], ..., XK[m-1] abgetastet,
in die entsprechenden Register 301 übertragen und dort bis zum
jeweils nächsten
Takt als Ausgangssignale D[2], D[3], ..., D[m – 1] bereitgestellt. Ein Register 301, bzw.
das Ausgangssignal eines Registers, nimmt dabei in Abhängigkeit
von dem gepulsten Ausgangssignal einer Schwellwertentscheider-Einrichtung
einen von zwei möglichen
Zuständen
an. Das Register 301 kann daher als 1-Bit-Register interpretiert
werden.
-
Eine
Grundidee der Erfindung besteht darin, dass die an den Signalausgängen 301c der
m Register 301 bereitgestellten Ausgangssignale D[0], D[1],
..., D[m – 1]
jeweils als Zufalls- Bitfolge
ausgebildet sind. Betrachtet man daher zum Beispiel die Abfolge
von Ausgangssignalen eines der m Register 301 (z. B. die
Abfolge von D[0]) zu den Zeitpunkten t0 +
T/2, t0 + 3·T/2, t0 +
5·T/2,
t0 + 7·T/2,
..., (d. h. immer zwischen zwei aufeinanderfolgenden Takten) so
erhält
man eine Folge von 1-Bit-Zufallszahlen
bzw. eine Folge von Zufalls-Bits.
-
Zur
Erzeugung einer m-Bit-Zufallszahl können beispielsweise zum Zeitpunkt
t0 + T/2 die zufälligen Bits bzw. die momentanen
Ausgangssignale D[0], D[1], ..., D[m – 1] aller m Register 301 zu
einer m-Bit-Zufallszahl kombiniert werden. Das heißt, jedes
der m Ausgangssignale D[0], D[1], ..., D[m – 1] liefert ein Bit der m-Bit-Zufallszahl.
Zur Erzeugung von k m-Bit-Zufallszahlen
können
k Takte des Taktsignals abgewartet werden, wobei zu jedem Taktzeitpunkt
eine neue m-Bit-Zufallszahl
mit Hilfe der Ausgangssignale D[0], D[1], ..., D[m – 1] erzeugt
wird.
-
4A zeigt
einen Zufallszahlengenerator 400 gemäß einem vierten Ausführungsbeispiel
der Erfindung. Der Zufallszahlengenerator 400 unterscheidet
sich von dem in 3A gezeigten Zufallszahlengenerator 300 im
Wesentlichen dadurch, dass eine Signal-Erfass-Einrichtung 420 derart
ausgebildet ist, dass zwischen jeweils eine der m Schwellwertentscheider-Einrichtungen
K[0], K[1], ..., K[m – 1]
und ein mit der jeweiligen Schwellwertentscheider-Einrichtung gekoppeltes
Register 301 ein Toggle-Flip-Flop 401 geschaltet
ist, derart, dass ein Signaleingang 401a des Toggle-Flip-Flops 401 mit
dem Signalausgang 308 der Schwellwertentscheider-Einrichtung
gekoppelt ist, und dass ein Signalausgang 401c des Toggle-Flip-Flops 401 mit
dem Signaleingang des Registers 301 gekoppelt ist.
-
Die
insgesamt m in der Signal-Erfass-Einrichtung 420 ausgebildeten
Toggle-Flip-Flops 401 weisen ferner jeweils einen Reset-Signal-Eingang 401b auf,
wobei an allen Reset- Signal-Eingängen 401b ein
gemeinsames Reset-Signal R empfangen wird. Die Toggle-Flip-Flops 401 sind
derart eingerichtet, dass der Zustand eines an dem Signalausgang 401c bereitgestellten
Ausgangssignals, welches Ausgangssignal an dem Signaleingang 301a des
mit dem Toggle-Flip-Flop 401 gekoppelten Registers 301 empfangen
wird, jedesmal invertiert wird, sobald an dem Signaleingang 401a des
Toggle-Flip-Flops 401 ein Pulssignal empfangen wird, welches
Pulssignal an dem Signalausgang 308 der mit dem Toggle-Flip-Flop 401 gekoppelten
Schwellwertentscheider-Einrichtung bereitgestellt wird.
-
Beispielsweise
kann zu einem bestimmten Zeitpunkt an dem Signalausgang 401c eines
mit der Schwellwertentscheider-Einrichtung
K[0] gekoppelten Toggle-Flip-Flops 401 ein Ausgangssignal
B[0] mit einem bestimmten Zustand bereitgestellt werden, welches
Ausgangssignal B[0] an dem Signaleingang 301a des mit dem
Toggle-Flip-Flop 401 gekoppelten Registers 301 empfangen
wird. Wird nun an dem Signaleingang 401a des Toggle-Flip-Flops 401 ein
Puls XK[0] empfangen, so wird das Ausgangssignal
B[0] des Toggle-Flip-Flops 401 invertiert,
und entsprechend empfängt
der Signaleingang 301a des Registers 301 das invertierte
Ausgangssignal B[0]. Die Wirkungsweise der mit den Schwellwertentscheider-Einrichtungen
K[1], K[2], ..., K[m – 1]
gekoppelten restlichen m – 1
Toggle-Flip-Flops 401 ergibt sich in analoger Weise.
-
Im
Folgenden wird die Funktionsweise der Toggle-Flip-Flops 401 näher erläutert.
-
4B zeigt
ein Taktschema 450 zur Erzeugung von m-Bit-Zufallszahlen, welches
auf der Funktionsweise des in 4A gezeigten
Zufallszahlengenerators 300 beruht. Das Taktschema 450 unterscheidet
sich von dem in 3B gezeigten Taktschema 350 dadurch,
dass oberhalb der zeitlichen Verläufe der Ausgangssignale XK[0] bzw. XK[1] der
ersten Schwellwertentscheider-Einrichtung K[0] bzw. der zweiten
Schwellwertentscheider-Einrichtung K[1] jeweils die zeitlichen Verläufe der
Ausgangssignale B[0] bzw. B[1] (Kurve 353a) der mit den
entsprechenden Schwellwertentscheider-Einrichtungen K[0] bzw. K[1] gekoppelten
Toggle-Flip-Flops 401 dargestellt sind, und dass ferner
der zeitliche Verlauf des Reset-Signals R dargestellt ist.
-
Aus 4B ist
zu erkennen, dass der Zustand des Ausgangssignals B[0] des mit der
ersten Schwellwertentscheider-Einrichtung K[0] gekoppelten Toggle-Flip-Flops 401 jedesmal
invertiert wird, sobald ein Puls des Ausgangssignals XK[0] an
dem Signaleingang 401a des Toggle-Flip-Flops 401 empfangen wird.
Ebenso wird der Zustand des Ausgangssignals B[1] des mit der zweiten
Schwellwertentscheider-Einrichtung K[1] gekoppelten Toggle-Flip-Flops 401 invertiert,
sobald ein Puls des Ausgangssignals XK[1] auftritt. Ähnliches
gilt für die
Ausgangssignale B[2], B[3], ..., B[m – 1] der restlichen m – 2 Toggle-Flip-Flops 401 (nicht
gezeigt).
-
Zu
den Zeitpunkten tj = t0 +
j·T (mit
j = 0, 1, 2, ...) d. h. bei einem Takt des Taktsignals C, werden
nun nicht, wie bei dem in 3A gezeigten
Zufallszahlengenerator 300, die momentanen Zustände der
gepulsten Ausgangssignale XK[0], XK[1], ..., XK[m-1] selbst
sondern die momentanen Zustände
der Ausgangssignale B[0], B[1], ..., B[m – 1] der Toggle-Flip-Flops 401 in
die entsprechenden Register 301 übertragen und an den jeweiligen
Signalausgängen 301c der
Register 301 bis zum nächsten
Takt als entsprechende Ausgangssignale D[0], D[1], ..., D[m – 1] bereitgestellt.
Anders ausgedrückt übernehmen
die Register 301 zu den Zeitpunkten tj =
t0 + j·T
(mit j = 0, 1, 2, ...) die momentanen Zustände der jeweiligen Toggle-Flip-Flops.
Jedesmal, nachdem die Ausgangssignale B[0], B[1], ..., B[m – 1] der
Toggle-Flip-Flops in die entsprechenden Register 301 übertragen
worden sind, werden die Toggle-Flip-Flops 401 durch das
gemeinsame Reset-Signal R, welches als Rechteck-Signal ausgebildet
ist, in ihren jeweiligen ursprünglichen
Zustand zurückgesetzt.
-
5 zeigt
einen Zufallszahlengenerator 500 gemäß einem fünften Ausführungsbeispiel der Erfindung.
Der Zufallszahlengenerator 500 unterscheidet sich von dem
in 3A gezeigten Zufallszahlengenerator 300 im
Wesentlichen dadurch, dass eine Signal-Erfass-Einrichtung 520 des
Zufallszahlengenerators 500 derart ausgebildet ist, dass
jede der m Schwellwertentscheider-Einrichtungen K[0], K[1], ...,
K[m – 1]
nicht bloß mit einem
Register 301 gekoppelt ist sondern mit einem Schieberegister 501 aus
k in Serie geschalteten Registern 301, wobei unter zwei
in Serie geschalteten Registern 301 zu verstehen ist, dass
der Signalausgang 301c eines ersten Registers 301 mit
dem Signaleingang 301a eines zu dem ersten Register 301 in
Serie geschalteten zweiten Registers 301 gekoppelt ist.
-
Die
Signal-Erfass-Einrichtung 520 des Zufallszahlengenerators 500 weist
daher insgesamt m Schieberegister 501 und somit k·m Register 301 auf,
welche k·m
Register 301 die Ausgangssignale D[0], D[2], ..., D[k·m – 1] bereitstellen,
und welche Register 301 in 5 in Form
einer Matrix mit m Zeilen und k Spalten angeordnet sind. Alle Register 301 werden
mit einem gemeinsamen Taktsignal C getaktet, und bei jedem Takt wird
anschaulich ein von einem Register 301 gehaltenes Ausgangssignal,
i. e. ein Zufalls-Bit, "nach
rechts verschoben",
d. h. zu dem Register 301, welches in der Spalte rechts
daneben angeordnet ist. Innerhalb von k Takten wird somit ein Bit
von "links nach
rechts" durch das
gesamte Schieberegister geschoben.
-
Mit
dem gezeigten Zufallszahlengenerator 500 können daher
k·m-Bit-Zufallszahlen
erzeugt werden, wobei jedes Register 301 ein Bit einer
k·m-Bit-Zufallszahl
bereitstellt. Nach jeweils k Takten des Taktsignals C steht eine
neue k·m-Bit-Zufallszahl an den
Registerausgängen
zur Verfügung,
da dann sämtliche
Bits einer alten Zufallszahl anschaulich aus den Schieberegistern 501 hinausgeschoben
wurden.
-
6 zeigt
einen Zufallszahlengenerator 600 gemäß einem sechsten Ausführungsbeispiel
der Erfindung. Der Zufallszahlengenerator 600 unterscheidet
sich von dem in 5 gezeigten Zufallszahlengenerator 500 im
Wesentlichen dadurch, dass eine Signal-Erfass-Einrichtung 620 des
Zufallszahlengenerators 600 derart ausgebildet ist, dass
zwischen jede der m Schwellwertentscheider-Einrichtungen K[0], K[1],
..., K[m – 1]
und das mit der entsprechenden Schwellwertentscheider-Einrichtung
gekoppelte Register 301 des Schieberegisters 501 ein
Toggle-Flip-Flop 401 geschaltet ist. Anschaulich vereint
die Signal-Erfass-Einrichtung 620 des Zufallszahlengenerators 600 daher
die Merkmale der in 4A gezeigten Signal-Erfass-Einrichtung 420 des
Zufallszahlengenerators 400 und die Merkmale der in 5 gezeigten
Signal-Erfass-Einrichtung 520 des Zufallszahlengenerators 500.
Zur Funktionalität
der in 6 gezeigten Signalerfasseinrichtung 620 wird
daher auf die jeweiligen Beschreibungen zu den 4A, 4B und 5 verwiesen.
-
Die
in 7 gezeigten Diagramme 701, 702, 703 und 704 zeigen
vier experimentell aufgenommene Verteilungsfunktionen bzw. Häufigkeitsverteilungen
für 5-Bit-Zufallszahlen.
Die Häufigkeitsverteilungen
wurden gemessen an einem Zufallszahlengenerator gemäß einem
siebten Ausführungsbeispiel
der Erfindung, welcher ein Netzwerk aus acht vollvernetzten Schwellwertentscheider-Einrichtungen
bzw. Neuronen aufweist, d. h. jede der acht Schwellwertentscheider-Einrichtungen weist ähnlich wie
bei dem in 1A gezeigten Zufallszahlengenerator 100 bi-direktionale
Kopplungen zu den jeweils sieben anderen Schwellwertentscheider-Einrichtungen
auf. Die gepulsten Ausgangssignale von vier der acht miteinander
gekoppelten Schwellwertentscheider-Einrichtungen wurden jeweils
mit einer Signal-Erfass-Einrichtung, welche Signal-Erfass-Einrichtung
ein Schieberegister mit fünf
in Serie geschalteten Registern aufweist (d. h. m = 1 und k = 5),
erfasst und als k·m-Bit
= 5·1-Bit-Zufallszahl
ausgewertet. Die Diagramme 701, 702, 703, 704 zeigen
die relativen Häufigkeiten
der in entsprechende Dezimalzahlen (i. e. 0 bis 31) umgewandelten
5-Bit-Zufallszahlen, welche Zufallszahlen aus den Pulssignalen jeweils
einer Schwellwertentscheider-Einrichtung
ermittelt wurden. Es ist zu erkennen, dass die mit Hilfe des Zufallszahlengenerators
erzeugten Zufallszahlen annähernd
gleichverteilt sind.
-
Tabelle
1 zeigt beispielhafte Werte für
die Kopplungsgewichte W
KL des im Zusammenhang
mit
7 beschriebenen Netzwerkes aus acht vollvernetzten
Schwellwertentscheider-Einrichtungen, in welchem Netzwerk jede der
acht Schwellwertentscheider-Einrichtungen
bi-direktionale Kopplungen zu den jeweils sieben anderen Schwellwertentscheider-Einrichtungen
aufweist. Für
die Pulsdauer t
p eines gepulsten Ausgangssignals
einer Schwellwertentscheider-Einrichtung wird t
p =
1 ms angenommen, für
die Pulshöhe
h
p wird h
p = 1 V angenommen,
und für
den Schwellenwert Θ wird Θ = 1 V angenommen.
K\L | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
0 | - | 0.1683 | 0.1400 | 0.1511 | 0.1700 | 0.2045 | 0.1397 | 0.1840 |
1 | 0.1442 | - | 0.1667 | 0.1357 | 0.1323 | 0.1579 | 0.1485 | 0.1561 |
2 | 0.2075 | 0.1700 | - | 0.1893 | 0.1793 | 0.1894 | 0.1905 | 0.1941 |
3 | 0.1380 | 0.1776 | 0.1516 | - | 0.1543 | 0.2020 | 0.1687 | 0.1588 |
4 | 0.1760 | 0.1909 | 0.2032 | 0.1980 | - | 0.1977 | 0.1817 | 0.1887 |
5 | 0.1739 | 0.1578 | 0.1550 | 0.1420 | 0.1944 | - | 0.1601 | 0.1640 |
6 | 0.2071 | 0.1359 | 0.1431 | 0.2054 | 0.1869 | 0.1595 | - | 0.1905 |
7 | 0.1886 | 0.2053 | 0.1277 | 0.1519 | 0.1886 | 0.1456 | 0.1746 | - |
Tabelle
1: Kopplungsgewichte W
KL (in ms
–1)
-
In
Tabelle 1 bezeichnet die erste Spalte den Index K der (K + 1)-ten
Schwellwertentscheider-Einrichtung (K = 0, 1, 2, ..., 7) des Netzwerkes,
und die erste Zeile bezeichnet den Index L der (L + 1)-ten Schwellwertentscheider-Einrichtung
(L = 0, 1, 2, ..., 7) des Netzwerkes. Ein Tabelleneintrag, welcher
in der (K + 2)-ten Zeile und der (L + 2)-ten Spalte der Tabelle
steht, bezeichnet das Gewicht WKL (in ms–1 (Millisekunde–1)),
mit dem ein von der (L + 1)-ten Schwellwertentscheider-Einrichtung L bereitgestelltes
Ausgangssignal XL gewichtet wird (mittels
einer Signal-Gewichtungs-Einrichtung) und als gewichtetes Ausgangssignal
XKL = WKL XL an einem Intern-Signaleingang der (K + 1)-ten Schwellwertentscheider-Einrichtung empfangen
wird.
-
Aus
Tabelle 1 ist beispielsweise abzulesen, dass ein Ausgangssignal
X5 der sechsten Schwellwertentscheider-Einrichtung (L =
5) an einem Intern-Signaleingang der vierten Schwellwertentscheider-Einrichtung
(K = 3) als ein mit dem Kopplungsgewicht W35 =
0.2020 ms–1 gewichtetes
Ausgangssignal X35 = W35 X5 = 0.2020 ms–1 X5 empfangen wird. Umgekehrt wird ein Ausgangssignal
X3 der vierten Schwellwertentscheider-Einrichtung (L =
3) an einem Intern-Signaleingang der sechsten Schwellwertentscheider-Einrichtung
(K = 5) als ein mit dem Kopplungsgewicht W53 =
0.1420 ms–1 gewichtetes
Ausgangssignal X53 = W53 X3 = 0.1420 ms–1 X3 empfangen.
-
Die
in Tabelle 1 dargestellten Kopplungsgewichte WKL weisen
Werte zwischen 0.1277 ms–1 und 0.2075 ms–1 auf.
In alternativen Ausgestaltungen der Erfindungen können einer
oder mehrere der Werte WKL um bis zu ± 3 Prozent
von den dargestellten Werten abweichen. Allgemein kann für die Werte
WKL zum Beispiel 0 < WKL < 1 ms–1 gelten.
-
Tabelle
2 zeigt beispielhafte Werte für
konstante externe Analog-Eingangssignale (Ströme) I
K,
welche Eingangssignale I
K an Extern-Signaleingängen der
acht vollvernetzten Schwellwertentscheider-Einrichtungen empfangen
werden. Dabei ist angenommen, dass jede der acht Schwellwertentscheider-Einrichtungen jeweils einen
Extern-Signaleingang aufweist.
K | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
IK | 0,0768 | 0,0905 | 0,0776 | 0,0968 | 0,0807 | 0,0874 | 0,0996 | 0,0866 |
Tabelle
2: Externe Eingangssignale I
K (in V ms
–1)
-
Die
erste Zeile der Tabelle bezeichnet den Index K der (K + 1)-ten Schwellwertentscheider-Einrichtung, und
die zweite Zeile bezeichnet den Wert IK (in
Einheiten von V ms–1 (Volt·Millisekunde–1))
eines analogen, zeitlich konstanten externen Eingangssignals IK, welches an einem Extern-Signaleingang der
(K + 1)-ten Schwellwertentscheider-Einrichtung empfangen wird. Zum Beispiel
empfängt
die dritte Schwellwertentscheider-Einrichtung (K = 2) des Netzwerkes
ein konstantes externes Eingangssignal I2 =
0.0776 V ms–1,
und die achte Schwellwertentscheider-Einrichtung (K = 7) empfängt ein
konstantes externes Eingangssignal I7 =
0.0866 V ms–1.
-
Die
in Tabelle 2 dargestellten externen Eingangssignale IK weisen
Werte zwischen 0.0768 V ms–1 und 0.0996 V ms–1 auf.
In alternativen Ausgestaltungen der Erfindungen können einer
oder mehrere der Werte IK um bis zu ± 3 Prozent
von den dargestellten Werten abweichen. Allgemein kann für die Werte
IK zum Beispiel 0 < IK < 0.1 V ms–1 gelten.
-
In
diesem Dokument sind folgende Veröffentlichungen zitiert:
- [1] B. Schneier, "Applied Cryptography", John Wiley & Sons, Second Edition, 1996, Chapter
16: "Pseudo-Random
Generators and Stream-Ciphers".
- [2] C.S. Petrie, J.A. Connelly, "A Noise-Based IC Random Number Generator
for Applications in Cryptography",
IEEE Transactions on Circuits and Systems – I: Fundamental Theory and
Applications, Vol. 47, No. 5, May 2000, pp. 615–621.
- [3] G.B. Agnew, "Random
Sources for Cryptographic Systems", EUROCRYPT '87, pp. 77–81.
- [4] Huang Zhun, Chen Hongyi, "A Truly Random Number Generator Based
on Thermal Noise",
4th International Conference on ASIC, Proceedings,
23–25
Oct. 2001, pp. 862–864.
- [5] M. Bucci, L. Germani, R. Luzzi, A. Trafiletti, M. Varanonuovo, "A High-Speed Oscillator-Based
Truly Random Number Source for Cryptographic Applications on a Smart
Card IC", IEEE Transactions
on Computers, Vol. 52, No. 4, April 2003, pp. 403–409.
- [6] Huang Zhun, Bai Guoqiang, Chen Honyi, "A Chaotic Circuit for Truly Random Number
Generation", 5th International Conference on ASIC, Proceedings,
Vol. 1, 21–24
Oct. 2003, pp. 548–551.
- [7] S. Espejo, J.D. Martin, A. Rodriguez-Vasques, J.L. Huertas, "Design of an Analog/Digital
Truly Random Number Generator",
IEEE International Symposium on Circuits and Systems, 1990, May
1990, pp. 1368–1371.
- [8] A. Gerosa, R. Bernardini, S. Pietri, "A Fully Integrated Chaotic System for
the Generation of Truly Random Numbers", IEEE Transactions on Circuits and
Systems – I:
Fundamental Theory and Applications, Vol. 49, No. 7, July 2002,
pp. 993–1000.
- [9] Yu Jun, Shen Hai-bin, Yan Xiao-lang, "Implementation of a Chaos-based, High-speed
Truly Random Number Generator",
5th International Conference on ASIC, Proceedings,
Vol. 1, 21–24
Oct. 2003, pp. 526–529.
- [10] A.J. Al-Khalili, D.M. Al-Khalili, "A Controlled Probabilità Random
Pulse Generator Suitable for VLSI Implementation", IEEE Transaction on Instrumentation
and Measurement, Vol. 39, No. 1, Feb. 1990, pp. 168–174.
- [11] H. Niederreiter, "New
Methods for Pseudorandom Number and Pseudorandom Vector Generation", Proc. 1992 Winter
Simulation Conference, ed. J.J. Swain, D. Goldsman, R.C. Crain,
J.R. Wilson, 1992, pp. 264–269.
- [12] D.E. Knuth, "The
Art of Computer Programming, Vol. 2: Seminumerical Algorithms", 2nd ed.,
Reading, MA, Addison-Wesley, 1981, [Chapter 3: "Random Numbers", pp. 1–184].
- [13] M.A. Glover, A. Hamilton, J.E. Louvet, "An Analog VLSI Integrate-and-Fire Neural
Network for Sound Segmentation",
May 21, 1998, pp. 86–92.
- [14] DE 693 29
868 T2
- [15] EP 0 475 732
B1
-
- B[0],
B[1],
-
- B[m – 1]
- Ausgangssignale
- C
- Taktsignal
- D[0],
D[1],
-
- D[m – 1], D[m],
-
- D[m
+ 1], D[2m – 1],
-
- D[(k – 1)m],
-
- D[(k – 1)m +
1],
-
- D[km – 1]
- Ausgangssignale
- K,
L
- Schwellwertentscheider-Einrichtungen
- KL
- Signal-Gewichtungs-Einrichtung
- K[0],
K[1],
-
- K[m – 1]
- Schwellwertentscheider-Einrichtungen
- R
- Reset-Signal
- XK, XL
- Ausgangssignale
- XKL
- gewichtetes
Ausgangssignal
- XK[0], XK[1],
-
- XK[m-1]
- Ausgangssignale
- 100
- Zufallszahlengenerator
- 101,
102, 103,
-
- 104,
105, 106
- Schwellwertentscheider-Einrichtungen
- 110,
110'
- Kopplungen
- 111,
112, 113,
-
- 114,
115, 116
- externe
Eingangssignale
- 120
- Signal-Erfass-Einrichtung
- 121,
124,
-
- 125,
126
- Kopplungen
- 150
- Zufallszahlengenerator
- 201a
- Extern-Signaleingang
- 201b,
201b'
- Extern-Signaleingänge
- 202a
- externes
Eingangssignal
- 202b,
202b'
- externe
Eingangssignale
- 203a,
203a'
- Intern-Signaleingänge
- 203b,
203b',
-
- 203b'', 203b'''
- Intern-Signaleingänge
- 204a,
204a'
- interne
Eingangssignale
- 204b', 204b'',
-
- 204b'''
- interne
Eingangssignale
- 205a,
205b
- Summensignal-Bildungs-Einrichtungen
- 206a,
206b
- Summensignale
- 207a,
207b
- Pulsgeneratoren
- 208a,
208b
- Signalausgänge
- 300
- Zufallszahlengenerator
- 301
- Register
- 301a
- Signaleingang
- 301b
- Taktsignal-Eingang
- 301c
- Signalausgang
- 308
- Signalausgang
- 310
- Kopplungen
- 320
- Signal-Erfass-Einrichtung
- 350
- Taktschema
- 351
- Zeitachse
- 352
- Ausgangssignal
- 352a
- Ausgangssignal
Toggle-Flip-Flop
- 353
- Ausgangssignal
- 353a
- Ausgangssignal
Toggle-Flip-Flop
- 354
- Taktsignal
- 400
- Zufallszahlengenerator
- 401
- Toggle-Flip-Flop
- 401a
- Signaleingang
- 401b
- Reset-Signal-Eingang
- 401c
- Signalausgang
- 450
- Taktschema
- 500
- Zufallszahlengenerator
- 520
- Signal-Erfass-Einrichtung
- 600
- Zufallszahlengenerator
- 620
- Signal-Erfass-Einrichtung
- 701,
702,
-
- 703,
704
- Häufigkeitsverteilungen