ADCs sind für die Umwandlung aller Arten analoger Signale in digitale Signale von entscheidender Bedeutung, aber wie funktionieren sie eigentlich?
Die zentralen Thesen
- ADCs werden häufig verwendet, um analoge Signale wie Ton und Licht in digitale Werte umzuwandeln, die in verschiedenen Anwendungen verwendet werden können.
- Die Abtastrate eines ADC bestimmt die Anzahl der Messwerte pro Sekunde, wobei höhere Abtastraten eine genauere Signaldarstellung ermöglichen.
- Die Bitrate eines ADC beeinflusst die Qualität der erhaltenen Probe, wobei mehr Bits zu gleichmäßigeren und präziseren Messungen führen. Verschiedene Arten von ADCs bieten unterschiedliche Kompromisse hinsichtlich Geschwindigkeit, Präzision und Stromverbrauch.
Analog-Digital-Wandler (ADCs) sind unglaublich nützlich, um reale Phänomene in Werte umzuwandeln, die wir in Programmierprojekten verwenden können. Aber wie kann ein ADC analoge Signale in digitale Signale umwandeln, die wir überall verwenden können?
Wofür werden ADCs verwendet?
ADCs finden Sie fast überall. Sie befinden sich auf Ihrem Telefon und wandeln Ihre Stimme in eine Folge binärer Werte um. Sie befinden sich in Ihrem Auto und messen die Drehung Ihrer Räder. Sie stecken in Oszilloskopen und helfen dabei, Signale zu erfassen und darzustellen. Die meisten Menschen werden sie jedoch in der Welt der Video- und Audiotechnik eingesetzt haben, wo es von grundlegender Bedeutung ist, Licht und Ton in einen digitalen Raum zu bringen.
Was ist eine Samplerate? Wie wirkt sich die Abtastrate auf einen ADC aus?
Eine der wichtigsten Kennzahlen eines ADC ist die Abtastrate: die Anzahl der Messwerte pro Sekunde.
Ein sehr hochwertiges Oszilloskop könnte zehn Milliarden Abtastwerte pro Sekunde erfassen. Der mutige kleine ADC MCP3008 kann relativ bescheidene zweihunderttausend verkraften. In der Audiowelt ist eine Abtastrate von 44.100 pro Sekunde (44,1 kHz) typisch.
Je mehr Proben wir nehmen, desto genauer können wir ein Signal darstellen. Manchmal ist dies wichtig; Manchmal ist es das nicht. Nehmen wir an, wir bauen eine Fader-Bank (zur Steuerung der Elektronik, wie man sie auf einem Beleuchtungs- oder Audiopult sieht) mit ein paar Dutzend Potentiometern. In diesem Fall ist es unwahrscheinlich, dass sich die Werte, die wir messen müssen, millionenfach pro Sekunde ändern, da sich unsere Finger nicht so schnell bewegen können. Wir benötigen lediglich genügend Samples, damit das Ergebnis reibungslos und reaktionsschnell ist.
Was ist Bitrate? Beeinflusst die Bitrate die Qualität eines ADC?
Wir sollten auch über die Qualität der Probe nachdenken, die wir erhalten. Dies wird größtenteils durch die Bitrate bestimmt, die uns sagt, wie viele Ein-Aus-Zustände wir zur digitalen Darstellung der Spannung verwenden können. Je mehr Bits wir haben, desto mehr mögliche Werte können wir in einer bestimmten Probe aufzeichnen und desto glatter und präziser ist das Endergebnis.
Wir haben über Binärdatei und ihre Funktionsweise geschriebenWenn Sie sich also nicht sicher sind, ist dies ein guter Ausgangspunkt. Wie viele Bits brauchen wir? Auch hier kommt es darauf an, was wir erreichen wollen. Manchmal sind wir möglicherweise durch das von uns verwendete Protokoll eingeschränkt. Beispielsweise ist das MIDI 1.0-Protokoll auf Sieben-Bit-Werte (und gelegentlich auch Vierzehn-Bit-Werte) beschränkt. In anderen Fällen könnte die menschliche Wahrnehmung der limitierende Faktor sein. Wenn die erhöhte Wiedergabetreue zu keiner spürbaren Verbesserung des Ergebnisses führt, lohnt es sich möglicherweise nicht.
Wie verbessert Multiplexing die ADC-Qualität?
Beliebte ADC-Chips wie der ADS1115 und das MCP3008 bieten viele Inputs. Aber unter der Haube steckt eigentlich nur ein einziger ADC. Dies ist aufgrund der in diesen Geräten integrierten Multiplexer möglich. Multiplexer gibt es überall in der Welt der Elektronik und Telekommunikation. Dabei handelt es sich um digitale Schalter, die als Verkehrssteuerung für Ihren ADC dienen. Der ADC tastet möglicherweise einen Kanal ab, dann den nächsten und dann den nächsten. Wenn Sie also über acht Kanäle und eine Abtastrate von 200.000 verfügen, können Sie durch alle Kanäle rotieren und dabei 25.000 Abtastungen pro Kanal vornehmen.
Welche Arten von ADC gibt es?
ADCs funktionieren je nach Kosten und erforderlichen Fähigkeiten auf unterschiedliche Weise.
A Flash-ADC funktioniert über einen sehr komplexen Spannungsteiler. Eine Reihe von Widerständen teilt die Referenzspannung in Inkremente auf, die dann über eine Reihe von Komparatoren mit dem Eingang verglichen werden. Flash-ADCs sind blitzschnell, aber aufgrund der Anzahl der erforderlichen Komparatoren sind sie in Bezug auf die Bittiefe begrenzt. Aus dem gleichen Grund sind sie auch machthungrig.
A Subrangierender ADC versucht, diese Schwächen auszugleichen, indem die Arbeit auf zwei separate Einheiten aufgeteilt wird: eine für die grobe Ermittlung der Spannung und eine zweite für die genaue Ermittlung. Durch die Aufteilung können wir die Anzahl der Komparatoren verringern. Einige untergeordnete ADCs teilen die Arbeit in drei Phasen auf, wobei nebenbei eine Fehlerkorrektur integriert ist.
SAR (Sukzessives Approximationsregister) ADCs erledigen ihre Arbeit über eine Art binäre Suche. Angenommen, wir müssen acht Bits füllen. Der SAR beginnt bei 10000000, dem Mittelwert (00000000 ist der niedrigste Wert und 11111111 der höchste Wert). Wenn die Spannung diesen Mittelpunkt überschreitet, behält der SAR die Ziffer ganz links bei 1; Ist dies nicht der Fall, setzt der SAR die Ziffer ganz links auf 0. Wir können den Vorgang mit der nächsten Ziffer usw. rekursiv wiederholen. Dadurch nähert sich der geschätzte Wert allmählich dem tatsächlichen Wert an:
Auf diese Weise grenzen wir die Suche kontinuierlich ein, teilen die Möglichkeiten in zwei Hälften auf und fragen, ob das Ergebnis über oder unter dem Mittelwert liegt. In diesem Fall liegt der Wert irgendwo zwischen 0 und 255; Nach einigen Iterationen hat der ADC herausgefunden, dass er bei etwa 77 liegt.
Sigma-Delta Konverter sind wahrscheinlich am schwierigsten zu verstehen. Sie werden für hochpräzise Musik- und Signalmessanwendungen eingesetzt. Sie funktionieren, indem sie ein Signal überabtasten und das Ergebnis mithilfe teuflisch komplizierter Filterung und Mathematik verfeinern. Dieser Prozess reduziert effektiv die Abtastrate und erhöht gleichzeitig die Präzision. Diese ADCs sind großartig, wenn Rauschen und Präzision wichtiger sind als Geschwindigkeit.
Endlich haben wir es Integration von ADCs, die sogar langsamer sind als Sigma-Delta-Modelle. Sie arbeiten mit Hilfe eines Kondensators, aus dessen Ladungsgeschwindigkeit sich die Eingangsspannung bestimmen lässt. Dabei wird die Abtastrate häufig mit der Frequenz der Stromversorgung synchronisiert, wodurch das Rauschen auf ein absolutes Minimum reduziert werden kann.
Was ist die Nyquist-Shannon-Theorie?
Nehmen wir an, wir wollen ein analoges Signal digital beschreiben. Dazu benötigen wir für jeden gegebenen Zyklus mindestens zwei Punkte: einen oben und einen unten. Daher muss unsere Abtastfrequenz mindestens doppelt so hoch sein wie die höchste Frequenz, die wir voraussichtlich messen werden.
Dies ist nach dem schwedisch-amerikanischen Physiker Harry Nyquist als Nyquist-Frequenz bekannt. Die Theorie ist nach Nyquist und Claude Shannon (einem herausragenden Mathematiker und Kryptographen) benannt, nicht jedoch nach Edmund Whittaker, der vor ihnen auf die Idee kam.
Wem auch immer wir die Theorie zuschreiben, es gibt ein Problem damit. Es ist unmöglich, im Voraus zu wissen, wann das obere und untere Ende einer Wellenform erreicht werden. Was wäre, wenn wir unsere Proben in der Mitte der eingehenden Wellenform nehmen würden? Beobachten Sie, wie eine Verschiebung des eingehenden Signals unser erfasstes Ergebnis vollständig abflachen könnte:
Oder Sie halluzinieren sogar neue Wellenformen, die vorher noch nicht einmal existierten:
Diese Halluzinationen werden als bekannt Aliase.
Das Problem mit Aliasing
Sie kennen wahrscheinlich die „Wagenrad“-Illusion, die manchmal auftritt, wenn ein sich drehendes Objekt gefilmt wird. Die Räder eines Autos oder die Rotorblätter eines Hubschraubers scheinen sich rückwärts zu drehen – nur sehr langsam. In einigen Fällen kann es sein, dass die Klingen ganz zum Stillstand kommen (mit ehrlich gesagt seltsamen Ergebnissen – schauen Sie sich das Video unten an!).
Beim Spielen eines älteren Videospiels ist Ihnen möglicherweise auch aufgefallen, dass parallele Linien manchmal seltsame Verzerrungsartefakte erzeugen. Zäune, Treppen und gestreifte Pullover sehen tatsächlich sehr eigenartig aus. Oder was ist mit den seltsamen Pfeifgeräuschen, die man manchmal hört, wenn man jemandem über eine digitale Verbindung mit schlechter Qualität zuhört? Es ist eine Verzerrung, aber eine besondere Art von Verzerrung. Was ist mit all den hässlichen Frequenzen, die aus dem Lärm entstehen? Wenn Sie harmonisch reiche Inhalte wie ein Schlagzeug hören, ist der Effekt noch deutlicher – insbesondere im oberen Bereich.
Wenn Sie die Ursache einer dieser Ursachen verstehen, sind Sie auf dem besten Weg, sie alle zu verstehen. Im Fall des Wagenrads führt die feste Bildrate dazu, dass wir die Bewegung nicht richtig erfassen können. Wenn sich etwas in jedem Bild um 350° dreht, ist es nur natürlich, dass man den Eindruck hat, dass es sich tatsächlich um 10° nach hinten bewegt. Mit anderen Worten: Es gibt nicht genügend Informationen, um das Geschehen getreu wiederzugeben. Die Proben, die wir nehmen, stimmen nicht mit dem überein, was wir messen wollen.
Dies ist kein Problem, das nur bei der Analog-Digital-Wandlung auftritt. In vielen dieser Fälle wandeln wir ein digitales Signal in ein anderes um.
Also, was ist die Lösung? Es gibt einige. Wir könnten einen speziellen Filter anwenden, um mit diesen Artefakten umzugehen, was viele ADCs unter der Haube tun. Oder wir können viel, viel mehr Proben nehmen, als wir brauchen. Je mehr Proben wir nehmen, desto genauer wird unser Bild der Welle:
Probe mit höherer Qualität für die besten Ergebnisse
Wenn Sie so etwas interessant finden, ist die gute Nachricht, dass wir uns kaum mit diesem Thema beschäftigt haben. Hier gilt es, die Tiefe auszuloten: ADCs sind äußerst kompliziert.
Aber aus der Sicht des Endbenutzers oder des durchschnittlichen Arduino-Enthusiasten sind sie auch sehr einfach. Spannungen gehen rein und Zahlen kommen raus. Was auch immer Sie also messen möchten – sei es der Feuchtigkeitsgehalt eines Stücks Erde oder die Schwingungen eines … Ob es sich um einen menschlichen Sprachapparat oder um einen Photonenstrom handelt, der durch eine Linse gebrochen wird – die Chancen stehen gut, dass es einen ADC gibt, der das schafft Arbeit.