DE4409341A1 - Pseudozufallsfolgengenerator - Google Patents
PseudozufallsfolgengeneratorInfo
- Publication number
- DE4409341A1 DE4409341A1 DE19944409341 DE4409341A DE4409341A1 DE 4409341 A1 DE4409341 A1 DE 4409341A1 DE 19944409341 DE19944409341 DE 19944409341 DE 4409341 A DE4409341 A DE 4409341A DE 4409341 A1 DE4409341 A1 DE 4409341A1
- Authority
- DE
- Germany
- Prior art keywords
- shift register
- pseudo
- sequence generator
- random sequence
- outputs
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
- G06F7/584—Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/84—Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/58—Indexing scheme relating to groups G06F7/58 - G06F7/588
- G06F2207/581—Generating an LFSR sequence, e.g. an m-sequence; sequence may be generated without LFSR, e.g. using Galois Field arithmetic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/58—Indexing scheme relating to groups G06F7/58 - G06F7/588
- G06F2207/583—Serial finite field implementation, i.e. serial implementation of finite field arithmetic, generating one new bit or trit per step, e.g. using an LFSR or several independent LFSRs; also includes PRNGs with parallel operation between LFSR and outputs
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Tests Of Electronic Circuits (AREA)
Description
Die Erfindung liegt auf dem Gebiet der elektronischen
Schaltungstechnik und bezieht sich auf einen Generator von
Zufallsfolgen mit Hilfe eines rückgekoppelten
Schieberegisters.
Die Erzeugung binärer Pseudozufallsfolgen mit Hilfe von
Schieberegistern ist hinlänglich bekannt. Der jeweilige
Eingangswert für das Schieberegister im Zeitpunkt kT wird
dabei aus einer kombinatorischen Verknüpfung der parallelen
Ausgänge aus einem Schieberegister erzeugt, also als
Funktion x(kT) = Σai·x((k-i)T), wobei die Summierung über
den Index i von 1 bis n läuft und worin x((k-i)T) den
Ausgangswert der i-ten Zelle der insgesamt n Zellen des
Schieberegisters und ai den zugehörigen Koeffizienten
bezeichnet. Die richtige Wahl der Koeffizienten ist dabei
ausschlaggebend für die Periodenlänge. Mit binären
Schieberegistern kann diese 2n-1 betragen. Auf die gleiche
Weise, das heißt als Funktion y(kT) = Σbi·x((k-i)T), wobei
hier i von 0 bis n läuft, lassen sich aus den
Schieberegister-Ausgängen Folgen herleiten, die überdies zu
Worten gruppiert werden können.
Die Verwendung eines rückgekoppelten Schieberegisters für
die Erzeugung von Pseudozufallsfolgen der obgenannten Art
ergibt eine feste Folge gegebener Länge. Es gibt jedoch
Anwendungen, in denen wechselnd verschiedene Arten von
Folgen zum Einsatz kommen sollen, namentlich in Testgeräten,
wo beispielsweise verschiedene Zykluslängen und/oder
Gewichtungen der Ausgänge benötigt werden, so daß sich
unterschiedliche Durchschnittswerte der Folgen erzeugen
lassen. Man muß sich dann mit mehreren Generatoren
behelfen, was aufwendig ist.
Es besteht daher die Aufgabe, mit geringem Schaltungsaufwand
einen Pseudozufallsfolgengenerator herzustellen, der jeweils
mit einer ausgewählten von mehreren unterschiedlichen
Zykluslängen arbeitet, und dessen Ausgangsfolgen überdies mit
ausgewählten Gewichtungen versehen werden können.
Die Aufgabe wird mit einem einzigen rückgekoppelten
Schieberegister in Verbindung mit einer kombinatorischen
Logik und einem Register gemäß den
Merkmalen des Patentanspruchs 1 gelöst. Die kombinatorische
Logik weist die benötigten Verknüpfungselemente auf, um die
einleitend angegebene Funktion x(kT) zu realisieren. Diese
lassen sich aber wahlweise aktivieren bzw. deaktivieren, was
auf Grund einer Ansteuerung aus einem Register erfolgt.
Nach demselben Prinzip werden auch die Funktionen der
Ausgangsfolgen beeinflußt. Die im Register gespeicherten
Steuerdaten beeinflussen die Koeffizienten bi und setzen sie
insbesondere null, wenn der betreffende
Schieberegisterausgang nicht benötigt wird.
Nachfolgend wird die Erfindung anhand schematischer
Zeichnungen und in einer Anwendung näher erläutert. Es
zeigen:
Fig. 1 das Blockschema des Pseudozufallsfolgengenerators;
Fig. 2 eine erste mögliche Realisierung eines Teils der
kombinatorischen Logik;
Fig. 3 eine zweite mögliche Realisierung eines Teils der
kombinatorischen Logik, und
Fig. 4 die Verwendung des Pseudozufallsfolgengenerators in
einem Ereigniszahlbegrenzer.
Der Pseudozufallsfolgengenerator 20 enthält ein
Schieberegister 1, eine kombinatorische Logik 2, einen
Taktschalter 3 und ein Register 4. Das Schieben im
Schieberegister 1 geschieht unter dem Einfluß des Takts,
der vom Taktschalter 3 aus über die Taktleitung 7 zugeführt
ist. Der Schieberegisterinhalt, das sind die Werte
x((k-i)T), wird parallel ausgelesen und gelangt über den
Ausgangsvektor 5 an die kombinatorische Logik 2. Diese
verknüpft die Ausgangswerte und liefert den nächsten in das
Schieberegister einzulesenden Wert, der über die
Rückkopplung 6 an dessen Eingang geführt ist. Im Fall eines
herkömmlichen, im Aufwand minimalisierten binären
Pseudozufallsfolgengenerators werden lediglich der älteste
und ein weiterer Wert aus dem Schieberegister benötigt
Über ein Exklusiv-Oder-Tor verknüpft ergeben sie die
Rückkopplung. Erfindungsgemäß werden jedoch mehr oder gar
alle Werte in die Logik geführt, damit verschiedene
Verknüpfungen nach Wahl erfolgen können, was die Generierung
verschiedener Zykluslängen zuläßt.
Die kombinatorische Logik wird durch die Steuersignale 9
beeinflußt, die aus dem Register 4 stammen. Das Register 4
selbst wird beispielsweise von einer Mikroprozessorsteuerung
über einen Eingangsdatenvektor 8 geladen. Maßgebend für den
Zeitpunkt ist dabei das Taktsignal, das über die Taktleitung
12 vom Taktschalter 3 an das Register 4 gelangt. Der
Taktschalter 3 wird ebenfalls von der
Mikroprozessorsteuerung beeinflußt, und zwar über einen
Befehlsvektor 11. Über diesen und den Taktschalter 3
gelangen auch besondere Taktbefehle auf die Taktleitung 7
zum Schieberegister, zum Beispiel um bei einem
Betriebsartenwechsel vorübergehend einen schnellen Vorlauf
zur Verfügung zu haben und so einen bestimmten Vorgabewert
zu erzeugen. Das Register 4 oder die kombinatorische Logik 2
können einen Dekodierer enthalten, welcher die Steuersignale
9 adäquat aufbereitet.
Die Fig. 2 zeigt schematisch eine mögliche
Schaltungsanordnung jenes Teils der kombinatorischen Logik,
der die Rückkopplungsfunktion für ein n-stufiges duales
Schieberegister 1 realisiert. Dieses soll Zykluslängen von
jeweils 2m-1 Takten mit wählbarem m n erzeugen, also die
jeweils maximale Länge, die mit einem scheinbar m-stufigen
Schieberegister erreichbar ist. Die Erzeugung kürzerer
Zyklen aus einem längeren Schieberegister wird nicht
angestrebt, weil damit die Eigenschaft der
Pseudozufälligkeit mehr und mehr verloren geht. Bekanntlich
kann für einen großen Teil der ganzen Zahlen in die maximale
Zykluslänge 2m-1 durch die Addition lediglich zweier
Ausgänge des Schieberegisters erhalten werden, jenem der
m-ten Zelle mit x((k-m)T), und einem weiteren der j-ten
Zelle mit x((k-j)T), wobei 1 j m/2. Nicht möglich ist
dies für m = 8, 13, 16, 19, 24, 26, 27, 32 usw. Das
Realisierungsbeispiel geht davon aus und nimmt dieses
Defizit in Kauf, das aber selbstverständlich durch eine
Erweiterung der Schaltung überwunden werden könnte. Die
Ausgänge des Schieberegisters 1 mit den jüngeren Werten
x((k-1)T), abgekürzt x1, bis x((k-h)T), abgekürzt xh, mit
h = n/2 für gerades n und h = (n+1)/2 für ungerades n sind
an einen "Eins aus h Multiplexer" 21 geführt. Dessen
Adreßeingang 22 - ein Teil der Steuersignale 9 - bestimmt,
welches Signal j der h Signale an den Ausgang 23
durchgeschaltet wird. Alle Ausgänge von x2 bis xn sind an
einen "Eins aus n-1 Multiplexer" 25 geführt. Dessen
Adreßeingang 26 - ein weiterer Teil der Steuersignale 9 -
bestimmt durch die Auswahl von xm, das an den Ausgang 27
durchgeschaltet wird, die scheinbare Länge m des
Schieberegisters mit m n. Die beiden Ausgänge sind über
einen Modulo-Summierer, hier ein Exklusiv-Oder-Tor 24,
miteinander verknüpft, dessen Ausgang die Rückführung 6 zum
Schieberegister bildet. Diese Schaltung mit wenig logischen
Stufen ist sehr schnell.
Zur Überwindung der beschriebenen Einschränkung bietet sich
beispielsweise eine Schaltung in der Art an, wie sie in
Fig. 3 gleichsam als Maximallösung gezeichnet ist. Die
Adresse 33 steuert eine Durchschaltungsstufe, hier eine
Mehrfach-UND-Tor-Schaltung 34, und bestimmt, welche der
sämtlichen Ausgänge xi an den Modulo-Summierer 31
durchgeschaltet sind. Die Adresse 33 stammt aus dem Register
4, allenfalls unter Zwischenschaltung eines
Kodierers/Dekodierers. Das Resultat erscheint am Ausgang 32
des Summierers 31, welch ersterer zum Schieberegister-
Eingang zurückgekoppelt ist, falls die Vorrichtung die
Rückkopplungsfunktion realisiert, oder andernfalls zum
Generator-Ausgang gehört. Die Schaltung von Fig. 3 eignet
sich nämlich insbesondere auch für die Erzeugung beliebiger
Ausgangsfolgen y(kT) von gleicher Periodizität aber anderer
Wertfolge als jener im Schieberegister, wobei auch das
Schieberegister-Eingangssignal x(kT) zum Modulo-Summierer 31
durchgeschaltet werden kann. Weiter ist es mit einer
zeitlichen Multiplexierung möglich, während eines
Schieberegistertakts mehrere Ausgangswerte zu berechnen.
Die in den Fig. 2 und 3 vorgestellten Möglichkeiten haben
Beispielcharakter. Selbstverständlich sind der jeweiligen
Aufgabe angepaßte Lösungen, insbesondere auch als Mischform
der zwei dargelegten Beispiele, möglich und anzustreben. Es
bleibt dem Fachmann überlassen, hierzu die geeignete
Realisierung zu finden.
Die Fig. 4 zeigt eine mögliche Verwendung des
Pseudozufallsfolgengenerators in einem
Ereigniszahlbegrenzer. Hierbei geht es darum, ein zählbares
Ereignis nach einer zufälligen Anzahl des Eintretens zu
stoppen bzw. von neuem mit dem Zählen zu beginnen und dieses
fortzusetzen, bis erneut eine zufällige Zahl von Ereignissen
eingetreten ist, und so weiter. Die Vorrichtung kann
beispielsweise als Steuerung in einem Testgerät dienen, in
welchem ein Ereignis wiederholt w mal eintreten soll, wobei
w eine Zufallszahl ist - ähnlich dem Würfeln. Das zählbare
Ereignis liege in Form von Taktimpulsen vor, die über den
Zähleingang 16 an den Ereigniszähler 15 gelangen. Der
Pseudozufallsfolgengenerator 20 erzeugt parallel
Pseudozufallsfolgen 10, deren Werte auf einen nicht
gezeichneten Lesebefehl hin als Startwerte in den Zähler 15
geladen werden. Der Zähler zählt nun die am Zähleingang 16
ankommenden Zählereignisse so lange, bis die voreingestellte
Pseudozufallszahl abgearbeitet ist, was durch ein Signal 17
angezeigt wird. Dieses Signal wird als Teil des
Befehlsvektors 11 an den Pseudozufallsfolgengenerator 20
geleitet, wo es einen Schiebebefehl für letzteren bewirkt.
Es werden also neue Werte der erzeugten Pseudozufallsfolgen
10 ausgegeben und auf einen entsprechenden Lesebefehl hin in
den Zähler 15 geladen, worauf der Vorgang von neuem beginnen
kann.
Claims (5)
1. Pseudozufallsfolgengenerator (20) mit einem
rückgekoppelten Schieberegister (1) mit
Parallelausgängen und einer kombinatorischen Logik (2)
zur Erzeugung des Rückkopplungssignals (6) für das
Schieberegister (1) und der Folgen (10) aus den
Schieberegister-Ausgängen, dadurch gekennzeichnet, daß
die kombinatorische Logik (2) in der Rückkopplung
mehrere unterschiedliche Rückkopplungsfunktionen
realisieren kann, wovon jeweils eine durch Steuersignale
(9) festgelegt wird, die aus einem Register (4)
aktiviert werden.
2. Pseudozufallsfolgengenerator (20) nach Anspruch 1,
dadurch gekennzeichnet, daß die aus dem Register (4)
aktivierten Steuersignale (9) in der kombinatorischen
Logik (2) auch die Erzeugung der Zufallsfolgen (10) aus
den Schieberegister-Ausgängen beeinflußt.
3. Pseudozufallsfolgengenerator (20) nach Anspruch 1,
dadurch gekennzeichnet, daß die Schieberegister-
Ausgänge auf zwei Multiplexer (21, 25) geführt sind und
die zwei Multiplexer-Ausgänge (23, 27) über einen Modulo-
Summierer (24) verknüpft das Rückkopplungssignal (6)
bilden.
4. Pseudozufallsfolgengenerator (20) nach Anspruch 1 oder
2, dadurch gekennzeichnet, daß die Schieberegister-
Ausgänge und der Schieberegister-Eingang über eine
adressierbare Durchschaltungsstufe (34) selektiv auf
einen Modulo-Summierer (31) geführt sind und dessen
Ausgang (32) das Rückkopplungssignal (6) oder eine
Ausgangsfolge (10) erzeugt.
5. Pseudozufälliger Ereigniszahlbegrenzer mit einem
Pseudozufallsfolgengenerator (20) nach Anspruch 1,
dadurch gekennzeichnet, daß die Werte dem erzeugten
Pseudozufallsfolgen (10) als Startwerte in einen
Ereigniszähler (15) geladen werden, der nach Abzählen
der eingestellten Zahl von Ereignissen ein Signal (17)
erzeugt, das gleichzeitig den
Pseudozufallsfolgengenerator (20) veranlaßt, einen
nächsten Wert der Folge auszugeben.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19944409341 DE4409341A1 (de) | 1994-03-18 | 1994-03-18 | Pseudozufallsfolgengenerator |
NZ27058095A NZ270580A (en) | 1994-03-18 | 1995-02-27 | Pseudo-random sequence generator with selectable feedback functions |
AU13659/95A AU1365995A (en) | 1994-03-18 | 1995-03-06 | Pseudo-random sequence generator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19944409341 DE4409341A1 (de) | 1994-03-18 | 1994-03-18 | Pseudozufallsfolgengenerator |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4409341A1 true DE4409341A1 (de) | 1995-09-21 |
Family
ID=6513201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19944409341 Withdrawn DE4409341A1 (de) | 1994-03-18 | 1994-03-18 | Pseudozufallsfolgengenerator |
Country Status (3)
Country | Link |
---|---|
AU (1) | AU1365995A (de) |
DE (1) | DE4409341A1 (de) |
NZ (1) | NZ270580A (de) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19717110A1 (de) * | 1997-04-23 | 1998-10-29 | Siemens Ag | Schaltungsanordnung zum Erzeugen einer Pseudo-Zufallsfolge |
DE19821004A1 (de) * | 1998-05-11 | 1999-12-16 | Ericsson Telefon Ab L M | Sequenzgenerator |
DE102004013480A1 (de) * | 2004-03-18 | 2005-10-13 | Infineon Technologies Ag | Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen |
DE102004013481A1 (de) * | 2004-03-18 | 2005-10-13 | Infineon Technologies Ag | Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen mit externer Auffrischung |
-
1994
- 1994-03-18 DE DE19944409341 patent/DE4409341A1/de not_active Withdrawn
-
1995
- 1995-02-27 NZ NZ27058095A patent/NZ270580A/en unknown
- 1995-03-06 AU AU13659/95A patent/AU1365995A/en not_active Abandoned
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19717110A1 (de) * | 1997-04-23 | 1998-10-29 | Siemens Ag | Schaltungsanordnung zum Erzeugen einer Pseudo-Zufallsfolge |
DE19717110C2 (de) * | 1997-04-23 | 2000-11-23 | Siemens Ag | Schaltungsanordnung zum Erzeugen einer Pseudo-Zufallsfolge |
DE19821004A1 (de) * | 1998-05-11 | 1999-12-16 | Ericsson Telefon Ab L M | Sequenzgenerator |
DE19821004C2 (de) * | 1998-05-11 | 2000-03-23 | Ericsson Telefon Ab L M | Sequenzgenerator |
US6735239B1 (en) | 1998-05-11 | 2004-05-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Sequence generator |
DE102004013480A1 (de) * | 2004-03-18 | 2005-10-13 | Infineon Technologies Ag | Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen |
DE102004013481A1 (de) * | 2004-03-18 | 2005-10-13 | Infineon Technologies Ag | Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen mit externer Auffrischung |
US7979482B2 (en) | 2004-03-18 | 2011-07-12 | Infineon Technologies Ag | Random number generator configured to combine states of memory cells |
DE102004013481B4 (de) * | 2004-03-18 | 2013-01-24 | Infineon Technologies Ag | Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen mit externer Auffrischung |
DE102004013480B4 (de) * | 2004-03-18 | 2013-01-24 | Infineon Technologies Ag | Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen |
Also Published As
Publication number | Publication date |
---|---|
AU1365995A (en) | 1995-09-28 |
NZ270580A (en) | 1997-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3618865C2 (de) | Maximallängen-Schieberegisterschaltfolgen-Generator | |
DE10141939B4 (de) | Flip-Flop-Schaltung zur taktsignalabhängigen Datenpufferung und diese enthaltender Signalhöhenkomparator | |
DE102004013480B4 (de) | Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen | |
DE1524181B2 (de) | Auswahlvorrichtung fuer ein und ausgabegeraete einer daten verarbeitungsanlage | |
DE3722907A1 (de) | Maximallaengen-schieberegister-folgegenerator | |
DE2158013B2 (de) | Tastatur-eingabewerk | |
DE4409341A1 (de) | Pseudozufallsfolgengenerator | |
DE69123725T2 (de) | Elektrischer Schaltkreis zum Generieren von Impulsreihen | |
DE3018509A1 (de) | Schieberegister mit latch-schaltung | |
DE2846686B1 (de) | Programmierbares Schaltwerk | |
DE1257843B (de) | Einrichtung zur Erzeugung von Schluesselimpulsfolgen | |
DE69726648T2 (de) | Generator elektronischer Impulse mit programmierbarer Dauer und Frequenz | |
DE1925917C3 (de) | Binäre Impulsfrequenz-Multiplizierschaltung | |
DE4431791C2 (de) | Signalauswahlvorrichtung | |
DE2850652C2 (de) | Digitale Halbleiterschaltung | |
DE3133861C2 (de) | ||
DE1286088B (de) | Impulsgenerator fuer die Erzeugung von Impulsfolgen mit wahlweise einstellbarer Betriebsart | |
DE2241921C3 (de) | Stochastischer elektronischer Generator | |
EP0146865B1 (de) | Verfahren zum Erzeugen zufallsähnlicher Binärzeichenfolgen | |
DE2142413C3 (de) | Vorrichtung zur Erzeugung von Schlüsselimpulsfolgen | |
WO2003098243A1 (de) | System zum testen von digitalbausteinen | |
DE2553417B2 (de) | Elektronisches Signalschaltwerk | |
DE2061482C3 (de) | Steuervorrichtung zum Erzeugen von Impulsketten mit nach einem zeitlichen Programm auftretenden Impulsen | |
DE2724110C2 (de) | Quasi-Zufallsgenerator | |
DE977715C (de) | Verschluesselungseinrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |