Effektive Anzahl von Bits des 14-Bit-ADC

18

Ich habe einen 14-Bit- ADC . Betrachtet man jedoch das Datenblatt (siehe Tabelle 2 auf Seite 5), so beträgt die effektive Anzahl der Bits (ENOB) immer weniger als 12 Bits.

Warum behauptet mein DAC, ein 14-Bit-ADC zu sein, wenn er nur eine Genauigkeit von 12 Bit hat? Was bringt es, zwei zusätzliche Bits zu haben, wenn sie bedeutungslos sind?

Zufälliges Blau
quelle
1
Während sie in einem One-Shot-Breitband-Sampler wie einem Oszilloskop möglicherweise nicht sehr nützlich sind , sind sie in Anwendungen von Bedeutung, die im Laufe der Zeit integriert werden, wie z. B. einem Software-Radio. Mit einer der FPGA-basierten Implementierungen wäre es einfach, ein Modusbit hinzuzufügen, um diese zu maskieren und den Unterschied in der Ausgabe nachfolgender Filter mit und ohne die "falschen" Bits als Eingabe zu sehen.
Chris Stratton
1
So ist der Chip aufgebaut. Selbst wenn Sie die 14-Bit-Daten erhalten, können Sie feststellen, dass der letzte Wert der Daten schwankt, und das liegt an den Rauschbits. Ich habe einen 24-Bit-ADC-AD7190 verwendet und es gibt nur 18 rauschfreie Bits.
PsychedGuy

Antworten:

17

Du wurdest bamboozled!

14-Bit ist Marketing-Sprache, und die Hardware gibt Ihnen auch das, so werden sie sagen, Sie haben nichts zu beanstanden. Direkt über ENOB im Datenblatt werden SINAD-Nummern (Signal to Noise and Distortion) angegeben. Das sind 72 dB, und 1 Bit entspricht einem Pegel von 6 dB, so dass 72 dB tatsächlich 12 Bit sind. Die 2 niedrigsten Bits sind Rauschen.

Es ist möglich, Daten abzurufen, die niedriger als das Grundrauschen sind, aber eine sehr gute Korrelation erfordern, was bedeutet, dass sie sehr vorhersehbar sein müssen.

stevenvh
quelle
8
OK, Downvoter, sag mir einfach, was hier los ist.
Stevenvh
3
Vielleicht ist der Downvoter der Designer des IC :-)
Stevenvh
3
@ Simpl: Nicht unbedingt. Sie müssen das Datenblatt aller A / D-Geräte lesen, die Sie verwenden möchten. Beim Design von A / Ds müssen viele Kompromisse eingegangen werden. Was Sie also erhalten können, ist sehr unterschiedlich. Viele A / Ds sind gut für die + -1 / 2-Zählung, aber wie dieses Beispiel zeigt, sind es einige nicht. Wie immer LESEN SIE DAS DATENBLATT.
Olin Lathrop
4
Dies ist keine "Marketing-Rede". Tatsächlich ist dies bei Hochleistungskonvertern, wie sie in Software-Radios usw. verwendet werden, recht häufig. Bei vielen dieser Anwendungen werden Sie an einem bestimmten Punkt der Signalverarbeitung filtern und das Signal herunterrechnen, sodass Sie ein Schmalbandsignal mit einem weit entfernten Leistungspegel erkennen können. weit unterhalb des Breitband-Grundrauschens (aber Sie tun dies in der Software, sodass Sie eine variable Anzahl solcher Filter an einer beliebigen Stelle in der gewünschten Bandbreite platzieren können. Bis zu einem gewissen Grad würde dies ohnehin der Fall sein, wenn Sie nur das "unzuverlässige" Element ausblenden. Bits, aber Sie machen es besser mit ihnen als ohne sie.
Chris Stratton
2
Jedes Signal mit einer geringeren Bandbreite als der ADC ist besser korreliert. Sie lehnen etwas Alltägliches als besonderen Fall ab.
Chris Stratton
14

Angenommen, man möchte eine konstante Spannung so genau wie möglich mit einem ADC messen, der für jede Messung einen 8-Bit-Wert zurückgibt. Nehmen wir weiter an, dass ADC so spezifiziert ist, dass ein Code von N nominal für Spannungen zwischen (N-0,5) / 100 und (N + 0,5) / 100 Volt zurückgegeben wird (so würde beispielsweise ein Code von 47 nominal etwas zwischen 0,465 und 0,475 darstellen Volt). Was soll man wünschen, wenn der ADC-Ausgang mit einer stationären Spannung von genau 0,47183 Volt gespeist wird?

Wenn der ADC immer den Wert ausgibt, der den oben definierten Bereich darstellt, in den die Eingabe fällt (in diesem Fall 47), wird der Wert unabhängig von der Anzahl der Messungen 47 angezeigt unmöglich.

Nehmen wir stattdessen an, dass der ADC so konstruiert ist, dass ein zufälliger "Dither" -Wert, der linear von -0,5 bis +0,5 verteilt ist, zu jedem Messwert hinzugefügt wird, bevor er in eine Ganzzahl konvertiert wird. Unter diesem Szenario würde eine Spannung von 47,183 Volt einen Messwert von 48 ergeben, was ungefähr 18,3% der Zeit und einen Wert von 47 in den anderen 81,7% der Zeit entspricht. Wenn man den Durchschnitt von 10.000 Ablesungen berechnet, sollte man damit rechnen, dass es ungefähr 47.183 sind. Wegen der Zufälligkeit kann es etwas höher oder niedriger sein, aber es sollte ziemlich nahe sein. Es ist zu beachten, dass bei einer ausreichenden Anzahl von Messwerten ein beliebiges Maß an erwarteter Genauigkeit erreicht werden kann, obwohl jedes zusätzliche Bit mehr als die doppelte Anzahl von Messwerten erfordern würde.

Das Hinzufügen von genau einem LSB für linear verteiltes Dithering wäre für einen ADC ein sehr schönes Verhalten. Leider ist die Implementierung eines solchen Verhaltens nicht einfach. Wenn das Dithering nicht linear verteilt ist oder wenn seine Größe nicht genau ein LSB ist, ist der Betrag an realer Präzision, den man durch Mitteln erhalten kann, stark begrenzt, unabhängig davon, wie viele Abtastwerte verwendet werden. Wenn anstelle eines LSB mit linear verteilter Zufälligkeit mehrere LSBs addiert werden, erfordert das Erreichen eines bestimmten Genauigkeitsniveaus mehr Messwerte als bei Verwendung einer idealen Ein-LSB-Zufälligkeit erforderlich wären, jedoch die letztendliche Grenze für die erreichbare Genauigkeit Wenn Sie eine beliebige Anzahl von Messungen vornehmen, ist die Empfindlichkeit gegenüber Fehlern in der Dithering-Quelle weitaus geringer.

Beachten Sie, dass es in einigen Anwendungen am besten ist, einen ADC zu verwenden, der das Ergebnis nicht schwankt. Dies gilt insbesondere unter Umständen, bei denen es mehr um die Beobachtung von Änderungen der ADC-Werte als um die genauen Werte selbst geht. Wenn es wichtiger ist, die Differenz zwischen einer Anstiegsrate von +3 Einheiten / Abtastung und einer Anstiegsrate von +5 Einheiten / Abtastung schnell aufzulösen, als zu wissen, ob eine stationäre Spannung genau 13,2 oder 13,4 Einheiten beträgt, ist ein nicht ditherender ADC möglicherweise besser als ein Dithering eins. Auf der anderen Seite kann die Verwendung eines Dithering-ADC hilfreich sein, wenn man die Dinge genauer messen möchte, als ein einziger Messwert zulässt.

Superkatze
quelle
2

Bonus-Lektion: Sie erhalten wirklich 14 Bit Präzision , aber nur 12 Bit Genauigkeit .

Gbarry
quelle
1
Sollte das nicht "Auflösung" statt "Präzision" sein? Präzision bezieht sich auf den Fehler, der sich auf verschiedene Konvertierungen verteilt, und auf das Gaußsche Rauschen bei den beiden LSBs, das ebenfalls 12 Bit beträgt.
Stevenvh
Ich habe einige Definitionen gelesen und glaube, Sie haben Recht. Ich neige dazu, in diesem Video-Zeitalter vor "Auflösung" zurückzuschrecken, aber es ist immer noch der beste Begriff. Ich denke, vielleicht haben sie in der High School die Präzision nicht ganz richtig erklärt.
Gbarry
1

Eine zusätzliche Einschränkung ... manchmal möchten Sie tatsächlich Zufälligkeit .

Beispielsweise:

In kryptografischen Anwendungen (Sicherheit / Authentizität) ist eine reine "nicht ermittelbare" Zufälligkeit erforderlich. Die Verwendung der LSBs eines Konverters (die unterhalb des Grundrauschens liegen) ist eine schnelle Möglichkeit, rein zufällige Zahlen zu generieren.

Wenn die ADC-Hardware für andere Zwecke (Sensoren usw.) verfügbar ist, können Sie schnell und einfach eine sichere Kommunikation herstellen. Sie können den Effekt verstärken, indem Sie die Verstärkung des Eingangsverstärkers maximieren (viele MCUs bieten eine solche Funktion an) und den Eingang schweben lassen.

Die ADC-Zufälligkeit beruht hauptsächlich auf zwei physikalischen Prinzipien: Quantisierungsrauschen und thermisches Rauschen.

Diese Effekte haben eine Schwelle auf makroskopischer Ebene. Beispielsweise müssen Zahlen, die ausreichend von der Bitgrenze entfernt sind, nicht gerundet werden, und es treten daher keine Quantisierungsfehler oder Zufälligkeiten auf. Thermisches Rauschen wirkt sich in den meisten Szenarien nicht auf die höherwertigen Bits bei der Konvertierung aus.

Im weiteren Verlauf können Sie feststellen, dass eine Änderung der Konvertierungsparameter (Abtastzeit, Tiefe, Rate, Referenzspannung) eine Änderung der Zufälligkeit der Ergebnisse bewirkt, indem Sie den Schwellenwert für die Zufälligkeit verschieben (entweder erhöhen, indem Sie ihn erhöhen, oder verringern, indem Sie den Schwellenwert senken) ). Ein ähnlicher Effekt wird durch Variieren der Umgebungs- / Systemparameter (Temperatur, Stromversorgung usw.) erzielt.

Das heißt, viele erfolgreiche kommerzielle Hardware-Zufallszahlengeneratoren verlassen sich auf diese Technik, weil äußere Effekte die Zufälligkeit nur verringern - sie beseitigen sie keineswegs (physikalisch unmöglich).

Sie können eine Verringerung der Zufälligkeit ausgleichen, indem Sie mehr Conversions durchführen und die Ergebnisse anhängen. Dieser Prozess der Bit-Erweiterung (Verkettung der Low-Bits aufeinanderfolgender Konvertierungen) wird unter anderem in den STM32-Nucleo-Dongles, dem FST-01 (einschließlich NeuG 1.0) und der Grang-Gerätefamilie von LE Tech verwendet.

Die Grang-Geräte erzeugen Bits durch Konvertieren mit über 400 Millionen Konvertierungen pro Sekunde (1 Bit pro Konvertierung). Wenn Sie genügend Conversions durchführen, können Sie eine hohe Zufälligkeit auch unter Umgebungsbedingungen garantieren.

DrFriedParts
quelle
2
Es ist eine sehr schlechte Idee anzunehmen, dass das ADC-Rauschen eine gute zufällige Rauschquelle ist. Es ist sehr wahrscheinlich, dass dies mit anderen Vorgängen in der Schaltung, der IC-Temperatur und vielen anderen Dingen zusammenhängt. Wenn Sie echte Zufälligkeit benötigen, stellen Sie sicher, dass Sie Ihre Quelle testen!
Connor Wolf
"Testen Sie Ihre Quelle" ist eine offensichtliche Voraussetzung in jedem Schema. Es ist jedoch keineswegs "eine sehr schlechte Idee" ... auch wenn sie mit der Temperatur korreliert. Das reduziert nur die Zufälligkeit, beseitigt sie nicht. Sie können dies durch eine Bit-Erweiterung (Verkettung der Low-Bits aufeinanderfolgender Konvertierungen) kompensieren.
DrFriedParts
Ich sagte, es sei eine schlechte Idee anzunehmen , keine schlechte Idee im Allgemeinen. Wenn Sie die Zufälligkeit Ihrer ADC-Rauschquelle gründlich testen und sie auschecken, hätte ich keine Probleme damit.
Connor Wolf