Wir brauchen eine pseudozufällige Uhr mit einer Länge N
, so dass aus allen N
Taktimpulsen M
zufällig Null gemacht werden sollte ( M<<N
). Wir wollen ein Signal zufällig abtasten. Das bedeutet, dass wir von allen N
Abtastpunkten (aus dem Nyquist-Gitter) M
Proben nehmen müssen. Dann werden durch einige Verarbeitung und Annahmen über die Signalstruktur andere nicht abgetastete ( N-M
Samples) Punkte wiedergewonnen. Jetzt verwende ich lineare Schieberegister, etwa wie folgt:
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
Es funktioniert gut, aber ich möchte keine Gleichverteilung für 1s und 0s, ich meine, ich möchte, dass etwa 20% der Taktzyklen 1 und 80% null sind. Um dies zu erreichen, habe ich AND
zwei Schaltkreise wie oben ausgegeben, um die Wahrscheinlichkeit von 50 % für Einsen und Nullen auf 25 % für Einsen und 75 % für Nullen zu ändern (in der Abbildung unten mit unterschiedlichen Startwerten).
Simulieren Sie diese Schaltung
Es ist gut auf Kosten der Verdoppelung der Leistung und der Chipfläche: (. Ich suche nach einer Möglichkeit, das System mit nur einer Zufallstaktgeneratorschaltung zum Laufen zu bringen, nicht mit zwei.
Ich dachte daran, eine zufällige Binärsequenz (mit einer Länge von N
) in einem ROM zu speichern und dann And
mit der Uhr auszugeben, um eine zufällige Uhr zu erstellen.
Stellen Sie sich den Inhalt des N-Bit-LFSR als eine N-Bit-Ganzzahl vor. Diese Zahl hat eine gleichmäßige Werteverteilung von 1 bis 2 N - 1. Sie können eine variable Dichte von Maskenbits erzeugen, indem Sie diese Zahl mit einem Schwellenwert vergleichen, den Sie ebenfalls von 1 bis 2 N - 1 variieren. Der Ausgang dieses Komparators ist die Uhrenmaske, die Sie suchen.
Tom Tischler
b degnan
MimSaad
Tony Stewart EE75
David Tweed
MimSaad
MimSaad
Rohr
MimSaad