Forum: Analoge Elektronik und Schaltungstechnik Bessere Auflösung bei der AD-Wandlung durch Überabtastung


von M. V. (bmtil)


Lesenswert?

Hallo,
Ich wollte hier nach einem Rat fragen.
Bei der Besprechung eines Projektes, es ging darum wie man am besten die 
Spannungsversorgung auf einer Platine bewerkstelligt, welche einen 
AD7634, einen FPGA und einen AT32UC3A zur zusätzlichen Steurung 
beinhaltet.
Die Schwierigkeit ist dabei, dass wenn die Spannungsversorgung nicht 
perfekt entworfen wurde, dann wuerde diese die hohe Auflösung von 18 Bit 
des AD7634 versauen.
Nach der Besprechung ist eine Alternative Idee gekommen. Bei dem Projekt 
werden 18Bit Genauigkeit gefordert. Die Idee ist, dass man auf diese 
Auflösung kommen kann, indem man das Signal mit einem 10-12Bit ADC 
massiv überabtastet.
Die erste Frage wäre ob Oversampling auch mit den Sukzessive 
Approximation Wandlern funktioniert. (Mir ist uerbigens durchaus 
bewusst, dass man mit Oversampling nicht aus einem 12Bit Wandler einen 
16 oder 18 Bit Wandler machen kann). Gefiltert wird dann digital.

von John (Gast)


Lesenswert?

M. V. schrieb:
> Bei dem Projekt
> werden 18Bit Genauigkeit gefordert. Die Idee ist, dass man auf diese
> Auflösung kommen kann, indem man das Signal mit einem 10-12Bit ADC
> massiv überabtastet.

Kennst Du den Unterschied zwischen Auflösung und Genauigkeit?

von M. V. (bmtil)


Lesenswert?

John schrieb:
> M. V. schrieb:
>> Bei dem Projekt
>> werden 18Bit Genauigkeit gefordert. Die Idee ist, dass man auf diese
>> Auflösung kommen kann, indem man das Signal mit einem 10-12Bit ADC
>> massiv überabtastet.
>
> Kennst Du den Unterschied zwischen Auflösung und Genauigkeit?

Uuuups, sorry, meinte natuerlich Auflösung, immer Auflösung.

von Peter D. (peda)


Lesenswert?

M. V. schrieb:
> Bei dem Projekt
> werden 18Bit Genauigkeit gefordert. Die Idee ist, dass man auf diese
> Auflösung kommen kann, indem man das Signal mit einem 10-12Bit ADC
> massiv überabtastet.

Wenn der Trick funktionieren würde, hätten die Hersteller des 18Bit-ADC 
ihn längst selber angewendet.

Man kann einen ADC immer nur schlechter machen (schlechtes Layout, 
schlechte Schaltung), aber nie besser.
Kein Hersteller ist so blöd, einen ADC nur als 12Bit zu bewerben, wenn 
er auch 13Bit könnte.

Bei vielen integrierenden ADCs kann man einstellen, will man eine kurze 
Meßzeit oder eine hohe Auflöung. Aber beim vom Hersteller angegebenen 
Maximalwert ist Schluß, da helfen auch keine Tricks.


M. V. schrieb:
> Die erste Frage wäre ob Oversampling auch mit den Sukzessive
> Approximation Wandlern funktioniert.

Nein.
Die Genauigkeit des SAR-Wandlers hängt (fast) ausschließlich vom 
verwendeten DAC ab. Ist der DAC nur auf 12Bit linear, kannst Du ein 
13.Bit auch per Zufallszahl erzeugen, das macht keinen Unterschied.

von Karl (Gast)


Lesenswert?

M. V. schrieb:
> Die Schwierigkeit ist dabei, dass wenn die Spannungsversorgung nicht
> perfekt entworfen wurde, dann wuerde diese die hohe Auflösung von 18 Bit
> des AD7634 versauen.
> Nach der Besprechung ist eine Alternative Idee gekommen. Bei dem Projekt
> werden 18Bit Genauigkeit gefordert. Die Idee ist, dass man auf diese
> Auflösung kommen kann, indem man das Signal mit einem 10-12Bit ADC
> massiv überabtastet.

Der Lösungsansatz schein etwas merkwürdig. Ich habe ein Problem mit der 
Spannungsversorgung also verringere ich die Auflösung des ADC und 
versuche dann durch Zahlenspielerei die Auflösung zu stecken?

Wäre es nicht sinnvoller bei dem 18-Bit ADC zu bleiben und mit dem ein 
Oversampling zu machen?

von Peter D. (peda)


Lesenswert?

Diese Diskussionen erinnern mich immer an die Filme, wo das Bild aus der 
Überwachungskamera so weit vergrößert wird, daß man die Zeitung lesen 
kann, die eine Person in der Hand hält, die im Originalbild nur wie ein 
Stecknadelkopf groß war.

von M. V. (bmtil)


Lesenswert?

Karl schrieb:

> Der Lösungsansatz schein etwas merkwürdig. Ich habe ein Problem mit der
> Spannungsversorgung also verringere ich die Auflösung des ADC und
> versuche dann durch Zahlenspielerei die Auflösung zu stecken?

> Wäre es nicht sinnvoller bei dem 18-Bit ADC zu bleiben und mit dem ein
> Oversampling zu machen?

Die Spannungsversorgung für einen 10-12V Bit Wandler wäre einfacher zu 
realisieren als für eine 18Bit Wandler.

Das ursprüngliche Problem ist folgendes:
Ich habe mehrere Spannungen zu erzeugen:
als erstes die ADC Versorgungsspannung, für den 18Bit Wandler sind es 
15V als dual supply.
Zweitens 5V für FPGA. Drittens dann 3.3V für den µC.

Die erste Idee war, ich geh einfach mit 18V auf die Platine drauf.
Regle diese runter auf 15V, schalte einen Single to Differantial 
Converter dahin, geh mit den erzeugten 15V und -15V an den ADC.
Parallel dazu, muss ich dann aus 18 bzw. aus 15V diese auf 5V 
runterregeln und den FPGA versorgen. Dann kommt noch ein dritter 
Spannungsregler um aus 5V 3.3V zu basteln.
Jeder Spannungsregler bringt Störungen mit sich, mal ganz davon 
abgesehen dass, das zu rooten ziemlicher Voodoo wird.

von Davis (Gast)


Lesenswert?

Peter Dannegger schrieb:

> Nein.
> Die Genauigkeit des SAR-Wandlers hängt (fast) ausschließlich vom
> verwendeten DAC ab. Ist der DAC nur auf 12Bit linear, kannst Du ein
> 13.Bit auch per Zufallszahl erzeugen, das macht keinen Unterschied.

Doch.

Voraussetzung ist allerdings, dass du ein gewisses Rauschen hast. 
Erklärt ist dies z. B. hier: 
http://www.atmel.com/dyn/resources/prod_documents/doc8003.pdf

von M. V. (bmtil)


Lesenswert?

Davis schrieb:
> Peter Dannegger schrieb:
>
>> Nein.
>> Die Genauigkeit des SAR-Wandlers hängt (fast) ausschließlich vom
>> verwendeten DAC ab. Ist der DAC nur auf 12Bit linear, kannst Du ein
>> 13.Bit auch per Zufallszahl erzeugen, das macht keinen Unterschied.
>
> Doch.
>
> Voraussetzung ist allerdings, dass du ein gewisses Rauschen hast.
> Erklärt ist dies z. B. hier:
> http://www.atmel.com/dyn/resources/prod_documents/doc8003.pdf

Das Dokument kenne ich. Das Signal ist von vorne rein schon etwas 
verrauscht.
Der FPGA muesste halt dann noch die Mittelung machen.

von Peter D. (peda)


Lesenswert?

M. V. schrieb:
> Das Dokument kenne ich.

Dann schmeiß es weg, es ist Mumpitz.
Der Autor hat das Prinzip des SAR-Wandlers nicht verstanden. Er setzt 
voraus, daß der DAC des Wandlers ideal linear ist.

von Georg W. (gaestle)


Lesenswert?

( )Bieten die 18 Bit überhaupt einen Mehrwert?
( )Sind sie aus technischer Sicht notwendig?
( )Sind sie für das Marketing einfach schön?
( )Gibt es das Eingangssignal überhaupt her?
( )Ausreichend genaue Referenz/Eingangsbeschaltung vorhanden?

Zutreffendes bitte ankreuzen.
Die Auflösung läge dann ja bei 100µV (30V/2^18).

Das Oversampling würde ich unterlassen, es hängt an zu vielen 
Randbedingungen. Da kannst du dir schnell eine blutige Nase holen. 
Entweder richtig oder gar nicht.

von M. V. (bmtil)


Lesenswert?

Georg W. schrieb:
> (x)Bieten die 18 Bit überhaupt einen Mehrwert?
> (x)Sind sie aus technischer Sicht notwendig?
> ( )Sind sie für das Marketing einfach schön?
> (x)Gibt es das Eingangssignal überhaupt her?
> ( )Ausreichend genaue Referenz/Eingangsbeschaltung vorhanden?
>
> Zutreffendes bitte ankreuzen.
> Die Auflösung läge dann ja bei 100µV (30V/2^18).
Jop, es geht um den µ-Bereich
Das letzte weiss ich nicht genau, da der Chef auf Dienstreise ist, hatte 
ich noch keinen Zugang zum Labor

> Das Oversampling würde ich unterlassen, es hängt an zu vielen
> Randbedingungen. Da kannst du dir schnell eine blutige Nase holen.
> Entweder richtig oder gar nicht.

Was sind es fuer Randbedienungen?
Momentan ueberlege ich einfach beide Varianten auszuprobieren, am 
Projektgeld solls nicht scheitern, hoechstens an der Zeit.

von Harald W. (wilhelms)


Lesenswert?

M. V. schrieb:

> Bei dem Projekt werden 18Bit Genauigkeit gefordert.

Es sollte sich langsam herumgesprochen haben, das man mit Überabtastung
zwar die Auflösung, nicht aber die Genauigkeit steigern kann. Eine
Steigerung der Genauigkeit bekommt man bestenfalls mit einer Simulation,
nicht aber mit realen Bausteinen. Der einzige Vorteil einer Über-
abtastung ist, das man den Aufwand für das analoge Anti-Aliasing-Filter
verringern kann.
M.E. ist die Verwendung von AD-Wandlern mit mehr als 16 Bit sowieso
nur selten sinnvoll, da es nur wenige analoge Größen gibt, die man
überhaupt so genau messen kann.
Gruss
Harald

: Bearbeitet durch User
von M. V. (bmtil)


Lesenswert?

Es gibt tatsächlich noch ein Problem mit den 18Bit ADC.
Dieser braucht einen Treiber ADA4922-1, der wiederrum dual supply 
Versorgung benötigt. Das heisst, die Spannungsversorgung wird nochmal um 
ein Glied aufwändiger und noch störanfälliger.

Ich frage mich langsam wie so ein hochauflösendes Projekt möglich ist 
mit sovielen Störfaktoren. (Und dabei sah es am Anfang noch relativ 
einfach aus :D ).

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Ich könnte Dir einige Wandler empfehlen, die sich in meiner Praxis 
bewährt haben:

Ein preiswerter ADC ist der LTC2400. Er hat einige Tücken, aber bei 
sorgfältigem Aufbau funktioniert er gut.
Er braucht einen Eingangsverstärker mit sehr kleinem Innenwiderstand, da 
sein Eingangswiderstand niedrig ist und abhängig von der 
Eingangsspannung.

Ein sehr guter ADC ist der AD7793. Er hat viele Features, kann z.B. 
direkt PT100/1000 oder Thermoelemte messen und bequem <10mK auflösen.

Falls 16Bit reichen, nehme ich den ADS8345.
Er liefert sehr stabile Meßwerte, schon ohne Mittelwertbildung.

In der Regel enthält meine Firmware auch Mittelwertbildung. Aber die 
dient ausschließlich zur Störunterdrückung (50/60Hz) und 
Anzeigeglättung.
Anlügen darf ich den Kunden nicht. Reklamationen, weil der Kunde merkt, 
daß die Spezifikationen nicht eingehalten werden, wären viel zu teuer.

von Arc N. (arc)


Lesenswert?

Peter Dannegger schrieb:
> M. V. schrieb:
>> Bei dem Projekt
>> werden 18Bit Genauigkeit gefordert. Die Idee ist, dass man auf diese
>> Auflösung kommen kann, indem man das Signal mit einem 10-12Bit ADC
>> massiv überabtastet.
>
> Wenn der Trick funktionieren würde, hätten die Hersteller des 18Bit-ADC
> ihn längst selber angewendet.

Der Trick funktioniert und Analog nutzt das auch...
Z.B.
http://www.analog.com/static/imported-files/data_sheets/AD7767.pdf
24-Bit Oversampled successive approximation (SAR) architecture

> Man kann einen ADC immer nur schlechter machen (schlechtes Layout,
> schlechte Schaltung), aber nie besser.

Doch. Siehe unten

> Die Genauigkeit des SAR-Wandlers hängt (fast) ausschließlich vom
> verwendeten DAC ab. Ist der DAC nur auf 12Bit linear, kannst Du ein
> 13.Bit auch per Zufallszahl erzeugen, das macht keinen Unterschied.

Für den Anfang
"Integral Nonlinearity Correction Algorithm Based on Error Table 
Optimizing and Noise Filtering", Michaeli, Šaliga, Sochová, 2008
http://www.measurement.sk/2008/S1/Michaeli.pdf
oder ausführlicher in der referenzierten These von Ludin
"Post-Correction of Analog-to-Digital Converters"
http://kth.diva-portal.org/smash/get/diva2:7513/FULLTEXT01

von Arc N. (arc)


Lesenswert?

Und ein paar weitere Paper zu dem Thema
"A Digital Self-Calibration Algorithm for ADCs Based on Histogram Test 
Using Low-Linearity Input Signals" Jin, Chen, Geiger,
http://class.ece.iastate.edu/vlsi2/docs/Papers%20Done/2005-05-ISCAS-LJ.pdf

"Achievable ADC Performance by Postcorrection Utilizing Dynamic Modeling 
of the Integral Nonlinearity", Björsell, Händel, 2008
http://asp.eurasipjournals.com/content/pdf/1687-6180-2008-497187.pdf

"Online Calibration of a Nyquist-Rate Analog-to-Digital Converter Using 
Output Code-Density Histograms" Eduri, Maloberti, 2004
http://sms.unipv.it/~franco/JournalPaper/88.pdf

Zum Testen braucht es im übrigen z.B. auch keine besseren DACs o.ä. z.B.
"Testing of High Resolution ADCs Using Lower Resolution DACs via 
Iterative Transfer Function Estimation" Kook et al. 2009
http://www.computer.org/csdl/proceedings/ets/2009/3703/00/3703a003-abs.html

von Peter D. (peda)


Lesenswert?

Arc Net schrieb:
> http://www.measurement.sk/2008/S1/Michaeli.pdf

Arc Net schrieb:
> http://kth.diva-portal.org/smash/get/diva2:7513/FULLTEXT01

Vermutlich ist das, was Du daraus liest, mit weißer Tinte geschrieben, 
weil ich es nicht sehen kann.

In beiden Artikeln geht es immer nur um Filterung und Fehlerkorrektur.
Aber nirgends darum, daß man eine höhere Auflösung erreicht, als der ADC 
schon von Haus aus hat.

Arc Net schrieb:
> http://www.analog.com/static/imported-files/data_sheets/AD7767.pdf

Auch dort finde ich nirgends eine Angabe, daß das SAR nur 23 Bit oder 
weniger breit ist.

Daß man Meßwerte filtern kann, habe ich nie bestritten, mache ich ja 
selber. Aber man kann einmal verlorene Informationen nicht wieder 
hinzuzaubern.

von Juergen (Gast)


Lesenswert?

Peter Dannegger schrieb:
> Diese Diskussionen erinnern mich immer an die Filme, wo das Bild
> aus der
> Überwachungskamera so weit vergrößert wird, daß man die Zeitung lesen
> kann, die eine Person in der Hand hält, die im Originalbild nur wie ein
> Stecknadelkopf groß war.

Du machst aber beim Oversampling nicht nur ein Bild, sondern viele.
Wenn du dann noch nicht zu viel und nicht zu wenig dabei wackelst, 
bekommst du tatsächlich lokal mehr Information heraus (mehr Auflösung).

Die Verzerrungen der Kameraoptik (Nichlinearitäten) kriegt man so 
natürlich nicht weg.

PS: http://abstrusegoose.com/532
    (Ich hätte aber nur ein Pixel für den Kopf genommen.)

von batman (Gast)


Lesenswert?

M. V. schrieb:
> Die Spannungsversorgung für einen 10-12V Bit Wandler wäre einfacher zu
> realisieren als für eine 18Bit Wandler.
>
> Das ursprüngliche Problem ist folgendes:
> Ich habe mehrere Spannungen zu erzeugen:
> als erstes die ADC Versorgungsspannung, für den 18Bit Wandler sind es
> 15V als dual supply.
> Zweitens 5V für FPGA. Drittens dann 3.3V für den µC.
>
> Die erste Idee war, ich geh einfach mit 18V auf die Platine drauf.
> Regle diese runter auf 15V, schalte einen Single to Differantial
> Converter dahin, geh mit den erzeugten 15V und -15V an den ADC.
> Parallel dazu, muss ich dann aus 18 bzw. aus 15V diese auf 5V
> runterregeln und den FPGA versorgen. Dann kommt noch ein dritter
> Spannungsregler um aus 5V 3.3V zu basteln.
> Jeder Spannungsregler bringt Störungen mit sich, mal ganz davon
> abgesehen dass, das zu rooten ziemlicher Voodoo wird.

Hier geht es immer nur um die Genauigkeit der Messung, bedingt durch 
die Versorgungsspannung. Die Auflösung bleibt dabei immer die 
Bitbreite des ADC.

Nimmt man einen 10Bit-ADC, egal wie oft man oversampelt, bleibt die 
Ungenauigkeit der Messung. Man hat nur weniger Auflösung.

Die könnte man nun wieder durch Rausch/Rampen/Rippel- oder sonstige 
Signalüberlagerung erhöhen - um die 18Bit zu erreichen. Ziel=?

von batman (Gast)


Lesenswert?

Peter Dannegger schrieb:
> M. V. schrieb:
>> Das Dokument kenne ich.
>
> Dann schmeiß es weg, es ist Mumpitz.
> Der Autor hat das Prinzip des SAR-Wandlers nicht verstanden. Er setzt
> voraus, daß der DAC des Wandlers ideal linear ist.

Aus dem 1.Abschnitt des Dokuments:
"This method is however limited by the characteristic of the ADC: Using
oversampling and decimation will only lower the ADCs quantization error, 
it does not compensate for the ADCs integral non-linearity."

von Georg W. (gaestle)


Lesenswert?

M. V. schrieb:
> Georg W. schrieb:
>> (x)Bieten die 18 Bit überhaupt einen Mehrwert?
>> (x)Sind sie aus technischer Sicht notwendig?
>> ( )Sind sie für das Marketing einfach schön?
>> (x)Gibt es das Eingangssignal überhaupt her?
>> ( )Ausreichend genaue Referenz/Eingangsbeschaltung vorhanden?
>>
>> Zutreffendes bitte ankreuzen.
>> Die Auflösung läge dann ja bei 100µV (30V/2^18).
> Jop, es geht um den µ-Bereich
> Das letzte weiss ich nicht genau, da der Chef auf Dienstreise ist, hatte
> ich noch keinen Zugang zum Labor
Dann wirst du um einen mindestens 18-Bitter nicht herum kommen. Als 
erstes musst du dir eine wirklich saubere Spannungsversorgung aufbauen, 
am besten mit linearen (Nach-)reglern und gut von allen anderen 
Schaltungsteilen entkoppelt, z.B. DC/DC-Wandler erzeugt +/- 18V, daraus 
erzeigt ein Linearregler 15V. Das ist aber nur dein geringstes Problem. 
Daran muss dann auch die analoge Eingangsbeschaltung (Filter/ 
Verstärker/ Buffer) hängen. Sonst hast du wieder Driftprobleme. Das 
Layout muss auch entsprechend sorgfältig und mit ausreichend Lagen 
erstellt werden.
Die letzten ein oder zwei Bit werden dann aber immer noch wackeln, daran 
kannst du dann das Oversampling einmal ausprobieren. Für ein Bit musst 
du mit der 4-Fachen Abtastfrequenz rechnen. Aber wenn z.B. das hierzu 
eingespeiste Signal (Rauschen, Rampe, was auch immer) und Abtastfrequenz 
korrelieren geht die Rechnung wieder nicht auf.
Versuch macht klug!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.