Zufallgenerator,
weißes Rauschen, Schweißlicht im Lokschuppen und LED-Kerze
sind eng verwandt. Auf der Suche nach einem Schweißlicht für
den Lockschuppen hatte ich mich mit Pseudo-Zufallszahlen
beschäftigt, um sie in Bascom zu programmieren. Pseudo
heißen sie, weil sie je nach Registerlänge früher oder
später wieder von vorn anfangen.
Je nach Anwendung werden
ein Ausgang (für Blitzlicht) oder mehrere Ausgänge (für
(Helligkeits-) Modulation) genutzt. Das Oszillogramm der LED-Kerze im
Video von Herrn Kainka legt folgende Schaltung im Inneren nahe.
Im
einfachsten Fall nutzt man ein Schieberegister der Länge n, wo die
beiden letzten Ausgänge mit einer XNOR-Vernüpfung das Datum
bilden, das vorne wieder hineingeschoben wird. Es werden alle
Bit-Muster durchlaufen, außer alle Bit=1. Damit ergeben sich 2^n
- 1 verschiedene Muster. Es sind nur wenige Längen möglich:
n=3, n=4, n=6, n=7, n=15, n=22, n=60, n=63, n=127, n=153
Die Softwareumsetzung folgt den Abläufen in der Hardware: Zufall n=4 für TPS
Das
Simulationsprogramm begrenzt die Register nicht auf 4-Bit. Deshalb
beginnt die Musterfolge nach dem 15. Durchlauf nicht neu.
Download: 1211-noise.tps
Die
Umsetzung in Bascom ist ähnlich einfach, jedoch hat Bascom mit der
RND()-Funktion schon alles implementiert. Der Wert in Klammern
muss jedoch 2^n-2 (-2 wegen der 0) betragen, sonst erhalten Sie
ein besseres Blinklicht.
Der TPS-Zufallsgenerator von Herrn
Kainka (12.10.2012) nutzt zwei nicht synchrone Oszillatoren. Das
Ergebnis ist eine abgetastete Schwebung. Die Musterfolge muss ebenfalls
endlich sein, ist aber wahrscheinlich nicht durch 2, 3 oder 5 teilbar.
Bauteilestreuungen und Temperatur sorgen zusätzlich für einen
sehr guten Zufall.
Zurück zur Hardware
Weißes
Rauschen für NF-Messzwecke kann man ebenso erzeugen. Die
höchste Frequenz wird durch den Oszillator bestimmt und sollte
über 50kHz betragen. Die niedrigste Frequenz wird durch die
Länge n bestimmt. Mit n=15 = 2^15-1= 32767 verschiedene Muster
wird eine untere Frequenz von 50kHz/32767 = 1,5Hz (= Wiederholfrequenz)
erreicht. Für die spektrale Reinheit wäre n=22 und ein
höherer Takt schon besser. Als Schieberegister sind 2 bis 3 * 4094
geeignet, als XOR/XNOR ein 4070/4077. Die Restgatter bilden den
Oszillator.
Herr
Sinning hat mit einem Tiny weißes Rauschen erzeugt (White Noise Generator), das ist
weniger aufwändig. Da ist er mir zuvor gekommen. NF-Messungen
werden meist logaritmisch dargestellt, dazu ist rosa Rauschen besser
geeignet. Rosa = gleiche Energie pro Oktave (log), Weiss = gleiche
Energie pro Frequenz (lin).
Um aus weißem Rauschen
rosa Rauschen zu machen genügen ein paar Widerstände und
Kondensatoren. Das Filter ist für RL=22k (Cinch) berechnet.