Wednesday 15 November 2017

Moving Average Filter Schaltung


Die Wissenschaftler und Ingenieure Leitfaden zur digitalen Signalverarbeitung Von Steven W. Smith, Ph. D. Tabelle 3-2 fasst die Eigenschaften dieser drei Filter zusammen und zeigt, wie jeder einen bestimmten Parameter auf Kosten von allem anderen optimiert. Der Chebyshev optimiert den Roll-off. Der Butterworth optimiert die Passband-Ebenheit. Und das Bessel optimiert die Sprungantwort. Die Auswahl des Antialias-Filters hängt fast ausschließlich von einem Problem ab: Wie die Informationen in den Signalen dargestellt werden, die Sie verarbeiten wollen. Während es viele Möglichkeiten gibt, Informationen in einer analogen Wellenform zu codieren, sind nur zwei Methoden üblich, Zeitbereichskodierung. Und Frequenzbereichskodierung. Der Unterschied zwischen diesen beiden ist kritisch in DSP, und wird ein wiederkehrendes Thema in diesem Buch sein. Bei der Frequenzbereichskodierung. Die Information ist in sinusförmigen Wellen enthalten, die das Signal bilden. Audiosignale sind ein hervorragendes Beispiel dafür. Wenn eine Person Sprache oder Musik hört, hängt das wahrgenommene Geräusch von den vorhandenen Frequenzen und nicht von der bestimmten Form der Wellenform ab. Dies kann gezeigt werden, indem ein Audiosignal durch eine Schaltung geleitet wird, die die Phase der verschiedenen Sinuskurven ändert, aber ihre Frequenz und Amplitude beibehält. Das resultierende Signal sieht bei einem Oszilloskop ganz anders aus, klingt aber identisch. Die relevanten Informationen sind intakt geblieben, obwohl die Wellenform deutlich verändert wurde. Da Aliasing-Misplaces und Überlappungs-Frequenzkomponenten, zerstört es direkt Informationen, die im Frequenzbereich codiert sind. Folglich beinhaltet die Digitalisierung dieser Signale gewöhnlich einen Antialiasfilter mit einem scharfen Cutoff, wie einem Chebyshev, Elliptic oder Butterworth. Was ist mit dem bösen Schritt Antwort dieser Filter Es spielt keine Rolle, die codierten Informationen ist nicht von dieser Art von Verzerrung betroffen. Im Gegensatz dazu verwendet die Zeitbereichskodierung die Form der Wellenform, um Informationen zu speichern. Zum Beispiel können Ärzte die elektrische Aktivität eines Personenherzens überwachen, indem sie Elektroden an ihre Brust und Arme (ein Elektrokardiogramm oder EKG) anschließen. Die Form der EKG-Wellenform liefert die gesuchte Information, z. B. wenn sich die verschiedenen Kammern während eines Herzschlags zusammenziehen. Bilder sind ein weiteres Beispiel für diese Art von Signal. Anstatt eine Wellenform, die im Laufe der Zeit variiert. Bilder codieren Informationen in Form einer Wellenform, die über Distanz variiert. Bilder werden aus Regionen von Helligkeit und Farbe gebildet und wie sie sich auf andere Bereiche von Helligkeit und Farbe beziehen. Du siehst nicht auf die Mona Lisa und sag: Mein, was für eine interessante Sammlung von Sinusoiden. Heres das Problem: Das Sampling Theorem ist eine Analyse dessen, was im Frequenzbereich während der Digitalisierung passiert. Dies macht es ideal, um die Analog-Digital-Wandlung von Signalen zu unterschätzen, deren Information im Frequenzbereich codiert ist. Allerdings ist das Sampling-Theorem wenig hilfreich, um zu verstehen, wie zeitdomaincodierte Signale digitalisiert werden sollen. Lasst uns genauer hinschauen. Abbildung 3-15 zeigt die Auswahlmöglichkeiten für das Digitalisieren eines zeitbereichskodierten Signals. Abbildung (a) ist ein analoges Analogsignal, das digitalisiert werden soll. In diesem Fall ist die Information, die wir erfassen wollen, die Form der Rechteckimpulse. In diesem Beispielsignal ist auch ein kurzer Burst einer Hochfrequenz-Sinuswelle enthalten. Dies stellt Breitbandrauschen, Interferenzen und ähnliche Trödel dar, die immer auf analogen Signalen erscheinen. Die anderen Figuren zeigen, wie das digitalisierte Signal mit verschiedenen Antialias-Filteroptionen erscheinen würde: ein Chebyshev-Filter, ein Bessel-Filter und kein Filter. Es ist wichtig zu verstehen, dass keine dieser Optionen das ursprüngliche Signal aus den abgetasteten Daten rekonstruieren lässt. Dies liegt daran, dass das ursprüngliche Signal inhärent Frequenzkomponenten enthält, die größer als die Hälfte der Abtastrate sind. Da diese Frequenzen im digitalisierten Signal nicht existieren können, kann das rekonstruierte Signal sie auch nicht enthalten. Diese hohen Frequenzen ergeben sich aus zwei Quellen: (1) Rauschen und Störungen, die Sie eliminieren möchten, und (2) scharfe Kanten in der Wellenform, die wahrscheinlich Informationen enthalten, die Sie behalten möchten. Der in (b) gezeigte Chebyshev-Filter greift das Problem an, indem es alle hochfrequenten Komponenten aggressiv entfernt. Dies führt zu einem gefilterten analogen Signal, das abgetastet und später perfekt rekonstruiert werden kann. Das rekonstruierte Analogsignal ist jedoch identisch mit dem gefilterten Signal. Nicht das ursprüngliche signal Obwohl bei der Probenahme nichts verloren ist, wurde die Wellenform durch den Antialiasfilter stark verzerrt. Wie in (b) gezeigt, ist die Heilung schlechter als die Krankheit Dont do it Der Bessel-Filter, (c), ist für genau dieses Problem konzipiert. Sein Ausgang ähnelt der ursprünglichen Wellenform, mit nur einer sanften Rundung der Kanten. Durch die Einstellung der Filter-Cutoff-Frequenz kann die Glätte der Kanten zur Eliminierung von Hochfrequenzkomponenten im Signal gehandelt werden. Die Verwendung mehrerer Pole im Filter ermöglicht einen besseren Kompromiss zwischen diesen beiden Parametern. Eine gemeinsame Leitlinie ist, die Cutoff-Frequenz auf etwa ein Viertel der Abtastfrequenz einzustellen. Dies führt zu etwa zwei Proben entlang des ansteigenden Teils jeder Kante. Beachten Sie, dass sowohl der Bessel als auch der Chebyshev-Filter das in dem Originalsignal vorhandene Hochfrequenzrauschen entfernt haben. Die letzte Wahl besteht darin, überhaupt keinen Antialiasfilter zu verwenden, wie in (d) gezeigt ist. Dies hat den starken Vorteil, dass der Wert jedes Samples mit dem Wert des ursprünglichen analogen Signals identisch ist. Mit anderen Worten, es hat eine perfekte Kantenschärfe, eine Änderung des Originalsignals wird sofort in den digitalen Daten gespiegelt. Der Nachteil ist, dass Aliasing das Signal verzerren kann. Das ist zwei verschiedene Formen. Zuerst werden Hochfrequenzstörungen und Rauschen, wie das Beispiel sinusförmige Burst, zu sinnlosen Proben, wie in (d) gezeigt. Das heißt, jedes Hochfrequenzrauschen, das in dem analogen Signal vorhanden ist, wird als Aliasing-Rauschen im digitalen Signal erscheinen. In einem allgemeineren Sinne ist dies kein Problem der Probenahme, sondern ein Problem der vorgeschalteten analogen Elektronik. Es ist nicht der ADCs Zweck, Lärm und Störungen zu reduzieren, das ist die Verantwortung der analogen Elektronik, bevor die Digitalisierung stattfindet. Es kann sich herausstellen, dass ein Bessel-Filter vor dem Digitalisierer platziert werden sollte, um dieses Problem zu beheben. Allerdings bedeutet dies, dass der Filter als Teil der analogen Verarbeitung betrachtet werden sollte, nicht was für den Digitalisierer getan wird. Die zweite Manifestation des Aliasing ist subtiler. Wenn ein Ereignis im analogen Signal (wie zB eine Kante) auftritt, erkennt das Digitalsignal in (d) die Änderung am nächsten Sample. Es gibt keine Informationen in den digitalen Daten, um anzuzeigen, was zwischen den Proben passiert. Jetzt vergleichen Sie mit keinem Filter mit einem Bessel-Filter für dieses Problem. Stellen Sie sich zum Beispiel daraus, gerade Linien zwischen den Proben in (c) zu zeichnen. Die Zeit, in der diese konstruierte Linie die Hälfte der Amplitude des Schritts kreuzt, liefert eine Teilprobenschätzung, wann die Flanke im analogen Signal aufgetreten ist. Wenn kein Filter verwendet wird, ist diese Teilbeispielinformation vollständig verloren. Sie brauchen nicht ein Phantasie-Theorem zu bewerten, wie dies Ihre besondere Situation beeinflussen wird, nur ein gutes Verständnis von dem, was Sie planen, mit den Daten zu tun, sobald es erworben ist. BCD-Zählerschaltung Wir sahen zuvor, dass T-Typ Flip Flops verwendet werden können Als einzelne divide-by-two Zähler. Wenn wir mehrere Toggle-Flip-Flops in einer Serienkette miteinander verbinden, können wir einen digitalen Zähler erzeugen, der die Anzahl der Zeiten, in denen eine bestimmte Zählfolge aufgetreten ist, speichert oder anzeigt. Die getakteten T-Typ-Flip-Flops wirken als binärer Trenn-zu-Zwei-Zähler und in asynchronen Zählern liefert der Ausgang einer Zählstufe den Taktimpuls für die nächste Stufe. Dann hat ein Flip-Flop-Zähler zwei mögliche Ausgangszustände und durch Hinzufügen weiterer Flip-Flop-Stufen können wir einen Trenn-zu-2-N-Zähler machen. Aber das Problem mit 4-Bit-Binärzählern ist, dass sie von 0000 bis 1111 zählen. Das ist von 0 bis 15 in Dezimalzahl. Um einen digitalen Zähler zu machen, der von 1 bis 10 zählt, müssen wir den Zähler nur die Binärzahlen 0000 bis 1001 zählen. Das ist von 0 bis 9 in Dezimal und glücklicherweise für uns sind Zählkreise ohne integrierte Schaltkreise mit einem verfügbar Eine solche Schaltung ist die asynchrone 74LS90 Decade Counter. Digitale Zähler zählen von Null auf einen vorgegebenen Zählwert bei der Anwendung eines Taktsignals. Sobald der Zählwert erreicht ist, kehrt der Rücksetzen zurück, so dass der Zähler wieder auf Null zurückkehrt. Ein Jahrzehntzähler zählt in einer Sequenz von zehn und kehrt dann nach dem Zählen von neun wieder auf Null zurück. Offensichtlich muss man bis zu einem Binärwert von neun zählen, der Zähler muss mindestens vier Flipflops innerhalb seiner Kette haben, um jede Dezimalstelle wie dargestellt darzustellen. BCD-Zähler-Zustandsdiagramm Dann hat ein Jahrzehnt-Zähler vier Flip-Flops und 16 Potentialzustände, von denen nur 10 verwendet werden und wenn wir eine Reihe von Zählern miteinander verbunden haben, konnten wir gegen 100 oder 1.000 oder was immer die Nummer, die wir wollten. Die Gesamtzahl der Zählungen, die ein Zähler auch zählen kann, heißt MODULUS. Ein Zähler, der nach n Zählungen auf Null zurückkehrt, heißt modulo-n-Zähler. Z. B. ein Modulo-8- (MOD-8) oder Modulo-16 (MOD-16) - Zähler usw. und für einen 8220n-Bit-Zähler8221 beträgt der volle Bereich der Zählung 0 bis 2n-1. Aber wie wir im Asynchronous Counters Tutorial gesehen haben, wird ein Zähler, der nach zehn Zählungen mit einer Division-by-10-Zählsequenz von Binär 0000 (Dezimal 822008221) bis hin zu 1001 (Dezimal 822098221) zurückgesetzt wird, als binärcodierter Dezimalzähler bezeichnet Oder BCD-Zähler kurz und ein MOD-10-Zähler kann mit einem Minimum von vier Toggle-Flip-Flops aufgebaut werden. Es wird ein BCD-Zähler genannt, weil seine zehn Zustandssequenz die eines BCD-Codes ist und kein normales Muster hat, im Gegensatz zu einem geraden Binärzähler. Dann zählt ein einstufiger BCD-Zähler wie der 74LS90 von Dezimalzahl 0 bis Dezimal 9 und ist daher in der Lage, bis zu maximal neun Impulsen zu zählen. Beachten Sie auch, dass ein digitaler Zähler in Abhängigkeit von einem Eingangssteuersignal aufwärts oder abwärts oder abwärts (bidirektional) zählen kann. Binärcodierter Dezimalcode ist ein 8421 Code, der aus vier Binärziffern besteht. Die Bezeichnung 8421 bezieht sich auf das Binärgewicht der verwendeten vier Ziffern oder Bits. Zum Beispiel 2 3 8, 2 2 4, 2 1 2 und 2 0 1. Der Hauptvorteil von BCD-Code ist, dass es die einfache Umwandlung zwischen dezimalen und binären Zahlenformen ermöglicht. Der 74LS90 BCD Zähler Der integrierte Schaltkreis 74LS90 ist grundsätzlich ein MOD-10-Dekadenzähler, der einen BCD-Ausgangscode erzeugt. Der 74LS90 besteht aus vier Master-Slave-JK-Flip-Flops, die intern mit einem MOD-2 (Count-to-2) Zähler und einem MOD-5 (Count-to-5) Zähler verbunden sind. Der 74LS90 hat einen unabhängigen Toggle-JK-Flipflop, der vom CLK A-Eingang angesteuert wird, und drei Toggle-JK-Flipflops, die einen asynchronen Zähler bilden, der durch den CLK B-Eingang wie gezeigt angetrieben wird. 74LS90 BCD Zähler Die Zähler vier Ausgänge werden durch das Buchstabensymbol Q mit einem numerischen Index gleich dem Binärgewicht des entsprechenden Bits im BCD-Zählkreiscode bezeichnet. So zum Beispiel Q A. Q B Q C und Q D Die 74LS90-Zählsequenz wird auf der negativ gehenden Flanke des Taktsignals ausgelöst, dh wenn das Taktsignal CLK von logisch 1 (HIGH) auf logisch 0 (LOW) geht. Die zusätzlichen Eingangsstifte R 1 und R 2 sind Zähler 8220reset8221 Stifte, während die Eingänge S 1 und S 2 8220set8221 Stifte sind. Bei der Verbindung mit der Logik 1 setzen die Reset-Eingänge R 1 und R 2 den Zähler auf Null zurück, 0 (0000), und wenn die Set-Eingänge S 1 und S 2 mit Logik 1 verbunden sind, setzen sie den Zähler auf Maximum, oder 9 (1001) unabhängig von der tatsächlichen Zählzahl oder Position. Wie bereits erwähnt, besteht der Zähler 74LS90 aus einem Divide-by-2-Zähler und einem Divide-by-5-Zähler innerhalb des gleichen Pakets. Dann können wir entweder einen Zähler verwenden, um nur einen Divisions-durch-2-Frequenzzähler zu erzeugen, einen Divisions-durch-5-Frequenzzähler nur oder die beiden zusammen, um unseren gewünschten Bittungs-BCD-Zähler zu erzeugen. Wenn die vier Flip-Flops den Trenn-zu-5-Zählerabschnitt ausschalten, wenn ein Taktsignal an den Eingangsstift 14 (CLK A) und den vom Pin 12 (QA) ausgegebenen Ausgang angelegt wird, können wir einen Standard-Divide - By-2-Binärzähler zur Verwendung in Frequenzteilerschaltungen wie gezeigt. 74LS90 Divide-by-2 Counter Um einen Standard-Trenn-by-5-Zähler zu erzeugen, können wir das erste Flipflop oben deaktivieren und das Takteingangssignal direkt auf Pin 1 (CLK B) setzen, wobei das Ausgangssignal von Pin 11 genommen wird (QD) 74LS90 Divide-by-5 ​​Counter Beachten Sie, dass bei dieser Division-by-5-Zähler-Konfiguration die Ausgangswellenform nicht symmetrisch ist, sondern ein 4: 1-Markraum-Verhältnis hat LOW - oder Logik-Ausgang 822008221 und das fünfte Eingangstaktsignal erzeugt einen HIGH - oder Logik-Ausgang 822018221. Zur Erzeugung eines Divide-by-10-BCD-Decade-Zählers werden beide internen Zählerschaltungen verwendet, die einen 2-fachen 5-Bit-Wert ergeben Ausgang QA vom Flipflop A nicht intern mit den nachfolgenden Stufen verbunden ist, kann der Zähler erweitert werden, um einen 4-Bit-BCD-Zähler zu bilden, indem er diesen QA-Ausgang mit dem CLK B-Eingang wie gezeigt verbindet. 74LS90 Divide-by-10 Counter Dann Können wir sehen, dass BCD-Zähler binäre Zähler sind, die von 0000 bis 1001 zählen und dann zurückgesetzt werden, da es die Fähigkeit hat, alle seine Flip-Flops nach der neunten Zählung zu löschen. Wenn wir einen Drucktaster (SW 1) an den Takteingang CLK A anschließen. Jedes Mal, wenn der Drucktastenschalter losgelassen wird, zählt der Zähler um eins. Wenn wir Leuchtdioden (LED8217s) an die Ausgangsklemmen, Q A anschließen. Q B Q C und Q D wie gezeigt, können wir die binärcodierte Dezimalzahl anzeigen, wie sie stattfindet. 74LS90 BCD Decade Counter Aufeinanderfolgende Anwendungen des Drucktastenschalters, SW 1 erhöht die Anzahl von bis zu neun, 1001. Bei der zehnten Anwendung werden die Ausgänge ABCD auf Null zurückgesetzt, um eine neue Zählfolge zu starten. Mit solch einer MOD-10 runden Anzahl von Impulsen können wir den Dekadenzähler verwenden, um eine Digitalanzeige zu fahren. Wenn wir die Zählfolge mit einer 7-Segment-Anzeige anzeigen wollen, muss die BCD-Ausgabe entsprechend decodiert werden, bevor sie angezeigt werden kann. Eine digitale Schaltung, die die vier Ausgänge unseres 74LS90 BCD-Zählers dekodieren und die benötigten Segmente des Displays aufleuchten kann, wird als Decoder bezeichnet. Driving a Display Zum Glück für uns hat jemand bereits eine BCD zu 7-Segment Display Decoder IC entworfen und entwickelt, wie die 74LS47, um genau das zu tun. Der 74LS47 hat vier Eingänge für die BCD-Ziffern A. B. C und D und gibt Ausgänge für jedes der Segmente der 7-Segment-Anzeige aus. Beachten Sie, dass eine standardmäßige 7-Segment-LED-Anzeige im Allgemeinen 8 Eingangsanschlüsse hat, eine für jedes LED-Segment und eine, die als gemeinsames Terminal oder Anschluss für alle internen Anzeigesegmente dient. Einige Anzeigen haben auch eine Dezimalpunkt-Option (DP). 74LS47 BCD zu 7-Segment-Treiber Der 74LS47-Display-Decoder empfängt den BCD-Code und erzeugt die notwendigen Signale, um die entsprechenden LED-Segmente zu aktivieren, die für die Anzeige der Anzahl der angelegten Impulse verantwortlich sind. Da der 74LS47-Decoder zum Ansteuern eines Common-Anode-Displays ausgelegt ist, leuchtet ein LOW (logic-0) - Ausgang ein LED-Segment auf, während ein HIGH (logic-1) Ausgang es schaltet 8220OFF8221. Für den normalen Betrieb müssen die LT (Lampentest), BIRBO (Blanking InputRipple Blanking Output) und RBI (Ripple Blanking Input) alle offen oder mit logic-1 (HIGH) verbunden sein. Beachten Sie, dass während der 74LS47 aktive LOW-Ausgänge hat und entworfen ist, um eine gemeinsame Anode-7-Segment-LED-Anzeige zu dekodieren, ist der 74LS48-Decoder-Treiber-IC genau derselbe, außer dass er aktive HIGH-Ausgänge hat, die entworfen sind, um eine gemeinsame Kathoden-7-Segment-Anzeige zu decodieren. Also je nach Art der 7-Segment LED-Anzeige haben Sie vielleicht einen 74LS47 oder einen 74LS48 Decoder IC benötigen. Mit den entsprechenden Ausgängen des Audiosignals 74LS90 können die 74LS47 binär kodierten Dezimaleingänge angeschlossen werden, um die Zählfolge auf der 7-Segment-Anzeige anzuzeigen, wie bei jedem Drücken der Taste SW1 angezeigt. Durch Ändern der Position des Drucktasters und des 10k-Widerstands kann bei der Aktivierung oder Freigabe des Drucktasters SW1 die Zählung geändert werden. Final 4-bit BCD Counter Circuit Beachten Sie, dass eine 7-Segment-Anzeige aus sieben einzelnen Leuchtdioden besteht, um die Anzeige zu bilden. Die beste Methode zur Begrenzung des Stroms durch eine sieben-Segment-Anzeige besteht darin, einen Strombegrenzungswiderstand in Serie mit jedem der sieben LED8217s wie gezeigt zu verwenden. Aber das können wir auf zwei Weisen machen. Strombegrenzungswiderstände Einzelwiderstand hier ein einzelner Strombegrenzungswiderstand, R wird verwendet. Wenn Sie sich nicht besonders mit einer konstanten Displayhelligkeit beschäftigen, dann ist dies die einfachste und einfachste Möglichkeit, die 7-Segment-Anzeige zu steuern. Die von einer LED emittierte Lichtmenge variiert mit dem Strom durch die Vorrichtung, wobei der durch den Widerstand fließende Strom zwischen der Anzahl der Anzeigesegmente geteilt wird. Dann hängt die Helligkeit des Displays nun davon ab, wie viele Segmente gleichzeitig beleuchtet werden. Mehrere Widerstände hat jedes Segment einen eigenen Strombegrenzungswiderstand, wie in unserem einfachen BCD-Zählerschaltkreis oben gezeigt. Im Allgemeinen benötigen 7-Segment-Anzeigen etwa 2 bis 20 Milliampere, um die Segmente zu beleuchten, so dass der Widerstandswert des Strombegrenzungswiderstandes (alle identisch) gewählt wird, um den Strom auf diese Werte zu begrenzen. Beachten Sie, dass einige Displays zerstört werden können, wenn sie mit 40mA und höher angetrieben werden. Der Vorteil hierbei ist, dass die Helligkeit eines bestimmten LED-Segments nicht vom Zustand der anderen sechs LED8217s abhängt, was dem Display eine konstante Helligkeit verleiht. Die Werte der Strombegrenzungswiderstände können gewählt werden, um die korrekte Helligkeit zu liefern, da die Menge an Umgebungslicht auch die erforderliche LED-Intensität bestimmt. Unsere Schaltung zeigt einen einfachen 0 bis 9 digitalen Zähler mit einem 74LS90 BCD Zähler und einem 74LS47 7-Segment Display-Treiber. Um über 10 zu zählen und einen 2-stelligen Basis-Zähler und Display zu erzeugen, müssten wir zwei getrennte Trennungszähler zusammenkaskaden Ein 2-stelliger BCD-Zähler würde in Dezimalzahl von 00 bis 99 (0000 0000 bis 1001 1001) zählen und dann zurück auf 00 zurücksetzen. Beachten Sie, dass es zwar einen 2-stelligen Zähler gibt, aber Werte, die Hexadezimalzahlen von A bis F darstellen, nicht Gültig in diesem Code. Ebenso, wenn wir von 0 bis 999 (0000 0000 0000 bis 1001 1001 1001) zählen wollten, dann sind drei kaskadierte Jahrzehntzähler erforderlich. In der Tat können mehrere Jahrzehnt Zähler einfach durch Kaskadierung zusammen einzelne BCD-Zählerschaltungen konstruiert werden, eine für jedes Jahrzehnt wie gezeigt. 2-stelliger BCD-Zähler von 00 bis 99 BCD-Zähler Zusammenfassung In diesem Tutorial haben wir gesehen, dass ein BCD-Zähler ein Gerät ist, das eine Folge von zehn Zuständen durchläuft, wenn es getaktet wird und kehrt nach 0 nach dem Zählwert von 9 zurück. In unserer einfachen Beispiel oben sind die Eingangstaktimpulse von einem Druckknopfschalter, aber Zähler können verwendet werden, um viele reale Weltereignisse zu zählen, wie z. B. das Bewegen von bewegten Objekten. Es kann jedoch eine geeignete Schaltungsanordnung erforderlich sein, um die elektrischen Impulse für jedes zu zählende Ereignis zu erzeugen, da diese Ereignisse in diskreten Zeitintervallen auftreten können, oder sie können vollständig zufällig sein. In vielen digitalen elektronischen Schaltungen und Anwendungen werden digitale Zähler unter Verwendung von Toggle-Flip-Flops oder mit jedem anderen Flip-Flop-Typ implementiert, der angeschlossen werden kann, um die erforderliche Schaltfunktion zu geben, oder mit der Verwendung von dedizierten Zähl-IC8217s wie dem 74LS90. Binärzähler sind Zähler, die durch eine binäre Sequenz gehen und ein n-Bit-Binärzähler aus 8220n8221 Anzahl von Flipflops, die von 0 bis 2n-1 zählen, gemacht wird. BCD-Zähler folgen einer Folge von zehn Zuständen und zählen mit BCD-Nummern von 0000 bis 1001 und kehren dann zu 0000 zurück und wiederholen sich. Ein solcher Zähler muss mindestens vier Flipflops aufweisen, um jede Dezimalstelle darzustellen, da eine Dezimalstelle durch einen Binärcode mit mindestens vier Bits dargestellt wird, die eine MOD-10-Zählung ergeben. Wir haben auch gesehen, dass die BCD-codierte Ausgabe mit vier LED8217s oder mit einer Digitalanzeige angezeigt werden kann. Aber um jede Zahl von 0 bis 9 anzuzeigen, erfordert eine Decoderschaltung, die eine binärcodierte Zahlendarstellung in die entsprechenden Logikpegel auf jedem der Anzeigesegmente übersetzt. Display-Decoder-Schaltungen können aus kombinatorischen Logik-Elementen aufgebaut werden und es gibt viele dedizierte integrierte Schaltungen auf dem Markt, um diese Funktion wie die 74LS47 BCD zu 7-Segment-Decoderdriver IC durchzuführen. Die meisten 7-Segment-Displays werden in der Regel in mehrzähligen Zählanwendungen eingesetzt, indem sie zusammen mehr BCD-Zähler kaskadieren, 4-stellige Zähler, die Anzeigen mit einer maximalen Lesung von 9999 erzeugen können. Der 74LS90 BCD Zähler ist ein sehr flexibler Zählkreis und kann als Frequenzteiler verwendet werden oder gemacht werden, um eine ganze Zahl von 2 bis 9 zu teilen, indem die entsprechenden Ausgänge an die IC8217s zurückgesetzt und die Eingänge eingegeben werden. Vorheriger Relay Switch CircuitThe Scientist and Engineers Guide zur digitalen Signalverarbeitung Von Steven W. Smith, Ph. D. Kapitel 6: Faltung Lasst diese Art des Verstehens zusammenfassen, wie ein System ein Eingangssignal in ein Ausgangssignal umwandelt. Zuerst kann das Eingangssignal in einen Satz von Impulsen zerlegt werden, von denen jede als eine skalierte und verschobene Delta-Funktion betrachtet werden kann. Zweitens ist die aus jedem Impuls resultierende Ausgabe eine skalierte und verschobene Version der Impulsantwort. Drittens kann das Gesamtausgangssignal durch Hinzufügen dieser skalierten und verschobenen Impulsantworten gefunden werden. Mit anderen Worten, wenn wir eine Systemimpulsantwort kennen, können wir berechnen, was die Ausgabe für ein mögliches Eingangssignal sein wird. Das heißt, wir wissen alles über das System. Es gibt nichts mehr, was man über eine lineare Systemcharakteristik lernen kann. (In späteren Kapiteln zeigen wir jedoch, dass diese Informationen in verschiedenen Formen dargestellt werden können). Die Impulsantwort geht bei einigen Anwendungen um einen anderen Namen. Wenn das betrachtete System ein Filter ist, Die Impulsantwort heißt Filterkernel. Der Faltungskernel Oder einfach den Kernel. Bei der Bildverarbeitung wird die Impulsantwort als Punktspreizfunktion bezeichnet. Während diese Begriffe in etwas unterschiedlicher Weise verwendet werden, bedeuten sie alle dasselbe, das Signal, das von einem System erzeugt wird, wenn die Eingabe eine Delta-Funktion ist. Faltung ist eine formale mathematische Operation, genauso wie Multiplikation, Hinzufügung und Integration. Addition nimmt zwei Zahlen und erzeugt eine dritte Zahl. Während die Faltung zwei Signale annimmt und ein drittes Signal erzeugt. Die Faltung wird in der Mathematik vieler Felder wie Wahrscheinlichkeit und Statistik verwendet. In linearen Systemen wird die Faltung verwendet, um die Beziehung zwischen drei interessierenden Signalen zu beschreiben: das Eingangssignal, die Impulsantwort und das Ausgangssignal. Abbildung 6-2 zeigt die Notation, wenn die Faltung mit linearen Systemen verwendet wird. Ein Eingangssignal x n tritt in ein lineares System mit einer Impulsantwort h n ein, was zu einem Ausgangssignal y n führt. In Gleichungsform: x n h n y n In Worten ausgedrückt, ist das mit der Impulsantwort überlegte Eingangssignal gleich dem Ausgangssignal. So wie die Addition durch das Plus, und die Multiplikation durch das Kreuz dargestellt wird, wird die Faltung durch den Stern dargestellt. Es ist bedauerlich, dass die meisten Programmiersprachen auch den Stern verwenden, um Multiplikation anzuzeigen. Ein Stern in einem Computerprogramm bedeutet Multiplikation, während ein Stern in einer Gleichung Faltung bedeutet. Abbildung 6-3 zeigt die Faltung für Tiefpass - und Hochpaßfilterung. Das Beispiel-Eingangssignal ist die Summe zweier Komponenten: drei Zyklen einer Sinuswelle (die eine hohe Frequenz repräsentiert), plus eine langsam ansteigende Rampe (bestehend aus niedrigen Frequenzen). In (a) ist die Impulsantwort für den Tiefpassfilter ein glatter Bogen, was dazu führt, dass nur die sich langsam ändernde Rampenwellenform an den Ausgang weitergegeben wird. Ähnlich erlaubt das Hochpaßfilter (b) nur die sich schnell ändernde Sinuskurve. Abbildung 6-4 zeigt zwei weitere Beispiele, wie die Faltung zur Verarbeitung von Signalen verwendet wird. Der invertierende Dämpfungsglied (a), kippt das Signal nach oben und reduziert seine Amplitude. Die diskrete Ableitung (auch die erste Differenz genannt), die in (b) gezeigt ist, führt zu einem Ausgangssignal, das sich auf die Steigung des Eingangssignals bezieht. Beachten Sie die Längen der Signale in Abb. 6-3 und 6-4. Die Eingangssignale sind 81 Abtastungen lang, während jede Impulsantwort aus 31 Abtastungen besteht. In den meisten DSP-Anwendungen ist das Eingangssignal Hunderte, Tausende oder sogar Millionen von Proben in der Länge. Die Impulsantwort ist in der Regel viel kürzer, sagen wir, ein paar Punkte auf ein paar hundert Punkte. Die Mathematik hinter der Faltung beschränkt nicht, wie lange diese Signale sind. Es wird jedoch die Länge des Ausgangssignals angegeben. Die Länge des Ausgangssignals ist gleich der Länge des Eingangssignals, plus der Länge der Impulsantwort, minus eins. Für die Signale in den Fig. 6-3 und 6-4, jedes Ausgangssignal ist: 81 31 - 1 111 Samples lang. Das Eingangssignal läuft von Abtastwert 0 bis 80, die Impulsantwort von Abtastwert 0 bis 30 und das Ausgangssignal von Probe 0 bis 110. Nun kommen wir zur detaillierten Mathematik der Faltung. Wie in der digitalen Signalverarbeitung verwendet, kann die Faltung auf zwei getrennte Weise verstanden werden. Der erste Blick auf die Faltung aus der Sicht des Eingangssignals. Dabei wird untersucht, wie jede Abtastung im Eingangssignal zu vielen Punkten im Ausgangssignal beiträgt. Der zweite Weg sieht die Faltung aus der Sicht des Ausgangssignals an. Dies untersucht, wie jede Probe im Ausgangssignal Informationen von vielen Punkten im Eingangssignal erhalten hat. Denken Sie daran, dass diese beiden Perspektiven unterschiedliche Denkweisen über die gleiche mathematische Operation sind. Der erste Standpunkt ist wichtig, weil er ein begriffliches Verständnis dafür bietet, wie sich die Faltung auf DSP bezieht. Der zweite Blickwinkel beschreibt die Mathematik der Faltung. Dies ist eine der schwierigsten Aufgaben, die Sie in DSP begegnen werden: Ihr konzeptionelles Verständnis passen mit dem Durcheinander der Mathematik verwendet, um die Ideen zu kommunizieren.

No comments:

Post a Comment