Archiv verlassen und diese Seite im Standarddesign anzeigen : Quasi stochastische Signalverarbeitung
Die angegebene Schaltung wird nicht zum Nachbau empfohlen, denn sie ist in der Funktion etwas unsicher. Sie lässt sich allerdings realisieren. Es ist eine Schaltung die eine Mischung aus Digitaltechnik, und Analogtechnik (und quasi stochastischer Rechentechnik).
Sie besteht aus den beiden 12bit Binärzählern (Ripple Counter), 7 EXOR Gatter, 8 AND Gatter und einem Widerstandsnetzwerk.
Bei Speisung mit einem konstanten Takt erscheint am Ausgang U out ein Spannungsverlauf mit einer periodischen Zeitfunktion.
Welchen Verlauf hat die Zeitfunktion?
Manfred
https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=420
superjany
20.02.2005, 19:01
Ich seh' nix...
superjany
20.02.2005, 19:06
Oh, ich seh' doch was...
Hallo,
der Digitalteil sieht mir verdammt nach einem Quasi-Zufallszahlen-Generator aus.
Am Ausgang nach dem R-2R DA-Wandler dürfte dann ein Rauschen erscheinen.
Es ist jedoch kein echtes Rauschen, weil es sich nach einer festen Periode
des Taktsignales wiederholt.
Meine ich.
Gruß Jan
engineer
20.02.2005, 19:25
Das wäre allerdings schon sehr zufällig, was da rauskommt. (Gatterschaltzeiten etc.) Wenn man "ordenliche" Zufallsgeneratoren bauen möchte, so lässt man zwei Zähler gegeneinanderlaufen, die von zwei unterschiedlichen Timern gesteuert werden. Diese Timer müssen dann"schlecht" aufgebaut werden- d.h. thermisch empfindlich. Man nimmt dazu einen 555er daher und bestückt an einem zeitkritischen Teiler einfach einen Rth. Durch Vergleich der beiden Zähler bekommt man bei jedem Durchlauf einen anderen Zeitpunkt für Zählergleichheit. Aus der Zeitdauer und dem Zählewer selber lässt sich eine Zufallszahl genrierten. Wer den Zählerwert benutzt, sollte bis zu einer Primzahl zählen lassen. Solange ein Zähler mindestens um eine Dekade schneller ist ,als der andere entsteht keine wirklichens Musster und alle Zählerstände werden statistisch gleich abgerufen.
So ganz grob ist es schon richtig, vor allem wenn es nicht klappt und es falsch abgestimmt ist.
Die Strukur des Digitalteils ist allerdings schon recht systematisch und er kann eine ganz tolle Funktion ausführen.
Manfred
(na gut was ist schon ganz toll, eben etwas, was man ab und zu mal gebrauchen kann)
OK, hab nochmal genauer geguckt.
Der zweite Zähler wird mit einem "zufälligen" Takt angesteuert,
der vom ersten Zähler mit den XORs und ANDs erzeugt wird.
Er zählt also brav vorwärts, aber mit schwankender Geschwindigkeit.
Damit erzeugt er über den AD-Wandler einen Sägezahn,
aber die ansteigende Treppe des Sägezahns
hat Stufen unterschiedlicher, quasi-zufälliger Länge.
Wie wärs damit ?
Gruß Jan
Das ist schon ein ganzes Stück näher dran, aber ...
Mit EXOR Gattern werden in der Digitaltechnik häufig Zufallsfolgen erzeugt, hier nicht.
Irgendwie gelingt es, das ganze recht determiniert laufen zu lassen. Es hat damit zu tun das der Skew (Versatz der Signalflanken) des Ripple Conters in die gleiche Richtung geht wie der Skew der EXOR Kette.
Manfred
Tut mir leid, es war ein kleiner Fehler in der Übertragung der Schaltung aufs "Papier". Man benötigt doch das 8. EXOR Gatter.
(In der Testschaltung hatte ich das 8. AND Gatter nicht eingesetzt. )
Es ist einfach die Fortsetzung der Systematik nur, wenn man die Einkopplung in die EXOR Kette ausschließlich durch den Zählerstand des 2. Zählers zuläßt, dann bleibt die Schaltung nach einem Durchgang hängen.
Zum periodischen Weiterarbeiten braucht die EXOR Kette natürlich auch einen unbedingten Eingang.
8-[
Manfred
https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=421
Da die Schaltung wirklich sehr ungewöhnlich ist, möchte ich noch folgende Erläuterung geben.
Ein EXOR Gatter überträgt jeden Wechsel eines Eingangssignals an den Ausgang. Am Ausgang erscheint also die Summe aller Wechsel, wenn die Wechsel nicht gleichzeitig auftreten.
Treten zwei Wechsel gleichzeitig auf, dann hebt sich deren Wirkung gerade auf. Interessanterweise kann man so von zwei Takten, die sich in der Rate um einen geraden ganzzahligen Faktor unterscheiden, je nach Phasenlage die Summe oder die Differenz bilden. Das ist ähnlich wie man bei einem Mischer, bei dem man die Summe und die Differenz zweier Frequenzen erhält.
Das gleichzeitige Auftreten von Wechseln soll hier aber vermieden werden. Der Ripple Counter sorgt schon mit seinem Zeitversatz zwischen den einzelnen Stufen dafür und die Wirkung wird dadurch unterstützt, dass das erste Signal (LSB) in das kurze Ende der EXOR-Kette eingespeist wird und die kürzeste Zeitverzögerung hat, während der letzte Wechsel des Zählers in das entfernte Ende der EXOR-Kette eingespeist wird.
Das Clock Signal für den oberen Zähler darf hierbei (wie allgemein üblich) nicht schneller sein als die Abarbeitung in der Laufzeit.
Wen man das Ganze für bestimmte ausgewählte Zählerstände des unteren Zählers betrachtet, dann erkennt man dann vielleicht auch schon eine Analogie in der Signalverarbeitung zwischen der Gatterkette und dem Widerstandsnetzwerk, die beide vom Zählerstand des unteren Zählers gesteuert werden.
Manfred
Ich gebe mal die Lösung für die Aufgabe an, manchmal kommen ja nachher auch noch ein paar Kommentare.
Ist im unteren Zähler beispielweise nur das MSB gesetzt, dann wird vom oberen Zähler nur das LSB an die EXOR-Kette durchgeschaltet. Die Frequenz die am Ausgang der EXOR Kette erscheint ist dann gerade halb so groß wie die Eingangsfrequenz.
Ist ein weiteres Bit gesetzt, dann kommt auch seine Frequenz an den Ausgang, da die Signale des oberen Zählers zueinander versetzt sind. Das Bit links neben dem MSB schaltet das Signal mit ¼ Taktfrequenz, das nächste entsprechend 1/8 und so weiter. Die Taktrate die aus der EXOR-Kette herauskommt ist also dem Wert des Zählerstandes des zweiten Zählers proportional.
Es ist somit ein digitaler Rate-Generator der eine recht gut verteilte Rate liefert, eine konstante Frequenz ist es leider nicht. Durch Mittelung (Integration) wird die Rate weiter geglättet. Das Signal wird im unteren Zähler zunächst durch 4 Zählerstufen gemittelt, wodurch die Phasenschritte pro Eingangs clock von maximal 4 auf ¼ abgesenkt werden.
Die so geglättete Frequenz steuert den Rate-Generator. Wird der untere Zähler mit einer Rate gespeist, die seinem Zählerstand proportional ist, dann ergibt sich eine Funktion, deren Steigung dem Funktionswert proportional ist. Das ist die Exponentialfunktion.
Der Wert des Zählers wird nicht nur zur Ansteuerung des Rate-Generators verwendet sondern auch zur Ansteuerung des Widerstandsnetzwerks unten. Dieses Netz stellt einen D/A Wandler dar.
Von jedem Steuereingang aus zeigt sich der gleiche Widerstand nämlich 30kOhm. Es sind 20k vom Eingang aus und noch einmal 20k nach rechts und 20k nach links. Der Strom Ie der beim Einschalten eines Steuereingangs 0V->5V in das lineare Netzwerks zusätzlich fließt, ist 5V/30k. Er fließt zur Hälfte nach rechts und nach links. Wenn er damit nicht schon im rechten Abschlusswiderstand ist, dann teilt sich der nach rechts fließende Anteil wieder je zur Hälfte in die beiden Pfade mit 20k. Je weiter links der Anschluss ist, desto häufiger wird der Strom der im rechten Abschlusswiderstand ankommt durch 2 geteilt. Damit ist die Wirkung der Spannungsänderungen an den Eingängen des Netzwerks gerade binär gestuft und es ist ein binärer D/A Wandler. Dass die Spannungsänderung eines jeden Eingangs unabhängig vom Zustand der anderen Eingänge wirkt, ist eine allgemeine Eigenschaft von linearen Schaltungen, die immer wieder etwas verblüfft.
Die exponentiell ansteigende Rate der EXOR Kette führt also zu einem exponentiell ansteigenden Zählerstand der über einen D/A Wandler ausgegeben wird:
In einer periodischen Exponentialfunktion.
Na also, so einfach ist es, aber man kommt halt irgendwie doch nicht gleich drauf.
Manfred
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.