Forum: Mikrocontroller und Digitale Elektronik Erhöhung der AD-Auflösung durch oversampling ?


von winne (Gast)


Lesenswert?

Hallo zusammen,
mir ist folgender BASCOM code begegnet. Dabei geht es um Erhöhung der 
Auflösung/Genauigkeit durch oversampling. In diesem Fall von 10bit auf 
13bit.

Was programmtechnisch abläuft ist schon klar.

Aber welches Prinzip macht man sich hier zu eigen ?

Wikipedia hab ich schon gelesen. Da geht es vor allem um Frequenzen. 
Weshalb aber die Auflösung höher wird ist nicht ganz klar.


...
Start Adc
Do
Sumx = 0
For N = 1 To 64
X = Getadc(1)
'Power Adcnoise
Sumx = Sumx + X
Next A

'Sx = Bin(sumx)
'Vx = Right(sx , 3)
'C = Val(vx)
C = Sumx / 8
C = C - 3584
C = C * 0.175

Locate 1 , 1
Lcd "X=" ; Fusing(c , "#.##")

Loop
...

Quelle:
http://www.mcselec.com/index.php?option=com_content&task=view&id=325&Itemid=57

: Gesperrt durch Moderator
von M. B. (Firma: TH Nürnberg) (ohmen)


Lesenswert?

Atmel Application Note
AVR121: Enhancing ADC resolution by oversampling

von Matthias (Gast)


Lesenswert?

Durch die häufigere Abtastung steuert man dem Quantisierungsfehler 
entgegen.
http://de.wikipedia.org/wiki/Quantisierungsfehler

von m.n. (Gast)


Lesenswert?

Eine höhere Genauigkeit ist damit aber nicht zwangsläufig verbunden. 
Eine gekrümmte Kennlinie des ADCs wird durch Mehrfachabtastung nicht 
gerade gebogen.

von winne (Gast)


Lesenswert?

Danke für die Antworten.
Jetzt muss ich erstmal lesen.

von Gebhard R. (Firma: Raich Gerätebau & Entwicklung) (geb)


Lesenswert?

Wenn ich ein unkorreliertes Signal mittle, dann sinkt das Rauschen auf 
1/Wurzel(Mittelungsanzahl). Dies ist ganz allgemein gültig. Ob du da von 
10 auf 13 Bit Auflösung kommst ist allerdings mehr als fraglich. Mehr 
als 11 stabile Bit's werden wohl nicht drin sein.

Grüsse

von Davis (Gast)


Lesenswert?

Gebhard Raich schrieb:
> Wenn ich ein unkorreliertes Signal mittle, dann sinkt das Rauschen auf
> 1/Wurzel(Mittelungsanzahl). Dies ist ganz allgemein gültig. Ob du da von
> 10 auf 13 Bit Auflösung kommst ist allerdings mehr als fraglich. Mehr
> als 11 stabile Bit's werden wohl nicht drin sein.

Das ist natürlich Quark. Warum schreibst du das? Mitteilungsbedürfnis?

Hier wurde der Einstieg bereits genannt: 
Beitrag "Re: Erhöhung der AD-Auflösung durch oversampling ?"

Lesen, verstehen, anwenden.

von winne (Gast)


Lesenswert?

Hallo da bin ich wieder und etwas schlauer als zuvor.

Danke  M. B.

>Atmel Application Note
>AVR121: Enhancing ADC resolution by oversampling

War richtig Gold wert.

@Gebhard Raich
Solltest Du auch mal lesen.

@alle

Wenn ich mir jetzt daraufhin mein Beispiel 
http://www.mcselec.com/index.php?option=com_content&task=view&id=325&Itemid=57 
nochmal anschaue, sehe ich dass dort kein zusätzliches Rauschsignal (wie 
auch immer) eingekoppelt wird. Hat der Anwender das vergessen ?

Winne

von al_guesto (Gast)


Lesenswert?

winne schrieb:
> nochmal anschaue, sehe ich dass dort kein zusätzliches Rauschsignal (wie
> auch immer) eingekoppelt wird. Hat der Anwender das vergessen ?

Das ist ja kein Muss. Nur wenn sich das Signal nicht "stark" genug 
ändert, also 1 LSB, dann musst du ein zusätzliches Störsignal 
einbringen.
Da es sich aber um eine Beschleunigungsmessung handelt, wird da wohl von 
Grund auf genug Rauschen vorhanden sein.

von Der (Gast)


Lesenswert?

Beim Oversampling ist auch wichtig, dass das Signal etwas Rauschen 
beinhaltet. Und zwar mehr als eine Quantisierungsstufe und das Rauschen 
muss mittelwertsfrei sein.
Angenommen, das rauschfreie Signal sei für einen Moment konstant und 
liegt irgendwo zwischen Quantisierungsschwellen, dann erhält man einen 
konstanten Messwert. Da bringt Oversampling nichts. Fügt man nun aber 
Rauschen hinzu, dann "springt" der Messwert ab und zu einen Wert nach 
oben oder nach unten. Je öfter der Messwert nach oben springt, desto 
mehr liegt das tatsächliche Signal in der Nähe der oberen 
Quantisierungsschwelle. Je öfter der Messwert nach unten springt, desto 
mehr liegt das tatsächliche Signal in der Nähe der unteren 
Schaltschwelle.

Zahlenbeispiel:
Echter Messwert: 100,3
Eine Messung: 100
Messwerte 4x Oversampling: 100; 101; 100; 100 => Mittelwert 100,25

von Der (Gast)


Lesenswert?

Mist, zu langsam...

von Peter D. (peda)


Lesenswert?

Ohne zusätzliches Signal (Rauschen, Dreieck) kriegst Du auch bei einer 
Million Messungen kein zusätzliches Bit Auflösung raus.

Das Rauschen muß absolut gleich verteilt sein, was auf die meisten 
Störquellen (z.B. 50Hz Netzbrumm) nicht zutrifft.
Einfacher ist daher, ein Dreick oder Sägezahn mit einzuspeisen.

Und es erhöht sich auch maximal nur die Auflösung, nie aber die 
Genauigkeit.

: Bearbeitet durch User
von winne (Gast)


Lesenswert?

>Atmel Application Note
>AVR121: Enhancing ADC resolution by oversampling

Beschreibt das Einkoppeln eines zusätzlichen Signals sehr ausführlich.

Da koppelt man z.B. über Aref ein.

von Peter D. (peda)


Lesenswert?

winne schrieb:
> Da koppelt man z.B. über Aref ein.

Hatte ich mir auch mal überlegt, aber verworfen.
Die AREF geht reziprok ins Ergebnis ein.
Um z.B. zwischen 10-11 noch Bits einzufügen, muß die AREF viel stärker 
moduliert werden, als zwischen 1000-1001.

von Gebhard R. (Firma: Raich Gerätebau & Entwicklung) (geb)


Lesenswert?

>Gebhard Raich schrieb:
> Wenn ich ein unkorreliertes Signal mittle, dann sinkt das Rauschen auf
> 1/Wurzel(Mittelungsanzahl). Dies ist ganz allgemein gültig. Ob du da von
> 10 auf 13 Bit Auflösung kommst ist allerdings mehr als fraglich. Mehr
> als 11 stabile Bit's werden wohl nicht drin sein.

>Das ist natürlich Quark. Warum schreibst du das? Mitteilungsbedürfnis?

Aha, wieso denn Davis?
Da steht genau das drin was ich oben formuliert habe. Das alles 
funktioniert auch im analogen Bereich. Das mann da bestenfalls 
theoretisch die Auflösung bis ins Unendliche treiben kann, sollte klar 
sein. Das Problem sind dann korrelierte Störsignale, die's bei einem 
popeligen MC-ADC immer gibt, die alles zunichte machen.Da reicht schon 
das periodische Ausgeben eines Resultats via UART. Auf das ist der 
AVR-Fuzzi nicht eingegangen, bei denen funktionieren ihre MC's immer 
ideal und ohne Störungen.

Grüsse

von Wilhelm F. (Gast)


Lesenswert?

Manchmal braucht man, um Meßwerte richtig auf einem Display anzuzeigen, 
etwas Oversampling. Ich machte es dann auch mal so, einfach mehrere 
Werte zu addieren, und später wieder durch die Anzahl Werte zu teilen. 
Die Meßdauer wird aber durch die Anzahl erheblich verlängert. Ich 
erhöhte damit einfach nur die Auflösung.

Man kann das mal so machen. Beispiel: Ich habe eine Küchenwaage, die nur 
ganze Gramm anzeigt. Mit dem Auge sieht man aber, ob ein Gegenstand 
33,2g oder 33,5g oder 33,8g wiegt, denn je nach dem springt die Anzeige. 
Wenn man das über 10 Messungen mittelt, kann man auch die 
Nachkommastelle anzeigen.

Ich machte es in einer Anwendung mehr wegen der Anzeigeoptik, als wegen 
der Genauigkeit. Vorher wurden nur Nachkommawerte 4 und 9 angezeigt, und 
ich wunderte mich, wo denn die anderen Zahlen blieben. Das ist einfach 
unschön.

Na ja, das ganze in meiner Anfangszeit vor 20 Jahren, mit einem 8051-er, 
der einen 10-bit-ADC hat. Für eine durchgängige Anzeige aller 
Zahlenwerte ohne Lücken brauchte ich da 12 bit.

von c-hater (Gast)


Lesenswert?

Peter Dannegger schrieb:

> Das Rauschen muß absolut gleich verteilt sein

Nein, Unsinn, muß es natürlich nicht. Es darf sogar eine diskrete 
Frequenz statt weißen Rauschens sein. Sie darf nur nicht mit der 
Samplefrequenz korrelieren. Also hinreichend weit weg von der 
Samplefrequenz (am besten deutlich oberhalb) und nicht mit dieser auf 
irgendeinem Weg synchronisiert.

Die Gleichverteilung ergibt sich dann (bei hinreichend langer Meßzeit, 
also genau der Fall des vielfach-Oversampling) aus dieser fehlenden 
Korrelation, also aus der Quasiezufälligkeit der Abtastzeitpunkte 
bezogen auf den Momentanwert des periodischen Helpersignals.

Ich fürchte, du hast, als das in der Vorlesung dran war, am Abend vorher 
etwas zu sehr das Studentenleben genossen und deshalb nur die Hälfte der 
Vorlesung mitbekommen...

von Kurt (Gast)


Lesenswert?

Oh, bin ich da wieder in eine esoterische Diskussion
reingekommen?

Da kommt der Glaubenssatz:
> Atmel Application Note
> AVR121: Enhancing ADC resolution by oversampling

Und wer (wie  m.n. (Gast)) nicht voller Ehrfurcht umgehend
jeden Zweifel fallen lässt, muss fortan in der Hölle schmoren
und wird niemals des erhabenen Anblicks von 1 bis 2 Stellen
mehr hinter dem Komma teilhaftig werden, die aber bei günstigen
Umfeld bestenfalls AUFLÖSUNG, aber nicht GENAUIGKEIT
bedeuten...

Ich stelle mir da so bärtige Kerle mit Kapuzen vor,
die schon seit Jahrzehnten ihren Tiny25 samplen lassen,
um endlich von der Spannung eines Weston-Elements die
273ste und 274ste Stelle hinter dem Komma angeben zu
können.

Die Welt wartet darauf!

Das Ergebnis kann ich schon mal verraten: 42

von Hans (Gast)


Lesenswert?

Schaut mal in die meisten Oszis rein, da sind auch meistens nur 8-Bit 
ADCs drin ;-)
Ganz neue ausgenommen.

Nachteil dabei ist halt, dass die Dynamik kleiner wird.
Beispiel  Rechtecksignal.
Mittelt man z.B da, kann es passieren dass man die Flanken zwar noch gut 
sieht aber das uberschwingen geht durch die Mittelung unter...

von Peter D. (peda)


Lesenswert?

c-hater schrieb:
> Ich fürchte, du hast, als das in der Vorlesung dran war, am Abend vorher
> etwas zu sehr das Studentenleben genossen und deshalb nur die Hälfte der
> Vorlesung mitbekommen...

Nö, ich habs einfach ausprobiert:

ATmega8 genommen, 256 Meßwerte addiert * 3 und dann durch 256 geteilt, 
weil ich bis 3000V messen wollte.
Und dann eine genaue einstellbare Spannungsquelle angeschlossen.
Resultat: Es ließen sich nur Vielfache von 3 stabil anzeigen, also 0V, 
3V, 6V, 9V usw. Zwischenwerte wurden nur kurzzeitig beim Ändern der 
Eingangsspannung angezeigt.

Es mag sein, daß es schlechte ADCs gibt, die intern rauschen, wie sau. 
Der AVR-ADC gehört nicht dazu.
Da ginge es wohl nur mit Verzicht auf Abblockkondensatoren, miese VCC 
und mieses Layout.
Aber ich hab lieber stabile 10Bit, anstatt rumpelige 12Bit, die dann 
effektiv nur auf 8Bit reproduzierbar sind.

von MaWin (Gast)


Lesenswert?

Peter Dannegger schrieb:
> Nö, ich habs einfach ausprobiert:

Du hast vergessen, das Rauschen oder den Sägezahn einzukoppeln also das 
Prinzip nicht verstanden.
Man tauscht Zeit gegen Auflösung, 16 Messungen statt einer erlaugen 4 
bit mehr Auflösung.
Die Genauigkeit bleibt natürlich genau so schlecht wie zuvor.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Pro Verdopplung der Abtastfrequenz sind es im Idealfall 3,01dB. Mehr 
kann es definitiv nicht werden.

Ein Bit sind 6,02dB. Alles spannungsbezogen.

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Abdul K. schrieb:
> Mehr kann es definitiv nicht werden.

Das hat auch keiner behauptet

Gebhard Raich schrieb:
> Wenn ich ein unkorreliertes Signal mittle, dann sinkt das Rauschen auf
> 1/Wurzel(Mittelungsanzahl).

Wenn man hier "auf" durch "um einen Faktor" ersetzt, paßts.

von winne (Gast)


Lesenswert?

Konkretes Beispiel:

Forderung:
Wasserpegel einer Zisterne 0 - 10 m
Anzeige in 1 mm Schritten.
Genauigkeit +/- 5 mm

Da brauche ich mehr als 11 Bit. (14Bit)

Man kann annehmen, dass bei diesem Beispiel die Genauigkeit und 
(Anzeige)-Interval hier nicht so wichtig sind, oder man könnte das ganze 
auch in dm anzeigen.

Das ist aber nicht üblich. Schon aus dem Wetterbericht sind wir gewohnt 
in mm "zu denken".

Und Schritte zu 4 mm wären "optisch" auch nicht so fein.

Also:
- Erhöhung der Auflösung muss her.
- 1 mm Genauigkeit ist (in diesem Fall) nicht erforderlich.
- 1 mm Auflösung ist üblich und gefordert.
- Einfach nur den Mittelwert berechnen reicht nicht aus.
- Einkoppeln eines Rauschsignals. Egal ob zusätzlich oder 
schaltungsbedingt. ;-)

Wie schon mein Ausbilder vor 30 Jahren sagte: "Miss so genau wie nötig 
und nicht so genau wie möglich."

von Peter D. (peda)


Lesenswert?

MaWin schrieb:
> Du hast vergessen, das Rauschen oder den Sägezahn einzukoppeln also das
> Prinzip nicht verstanden.

Ich wollte nur nochmal verdeutlichen, daß alleine die Mittelwertbildung 
genau 0,0 zusätzliche Bits bringt.

Eh ich da Aufwand treibe mit Dreieckgenerator und Summierverstärker, 
pappe ich lieber gleich nen externen 16Bit ADC ran und habe dann keine 
gelogenen 16Bit, sondern echte.

Es gibt natürlich auch integrierende ADC, wo eine Verlängerung der 
Meßzeit direkt auch die Genauigkeit erhöht.
Das SAR im AVR macht aber genau 10 Schritte und dann ist Ende Gelände.

von winne (Gast)


Lesenswert?

> Eh ich da Aufwand treibe mit Dreieckgenerator und Summierverstärker,
> pappe ich lieber gleich nen externen 16Bit ADC ran und habe dann keine
> gelogenen 16Bit, sondern echte.

AVR121: Enhancing ADC resolution by oversampling
Macht das mit 4 Widerständen, zwei kondensatoren und einem Port.

von Peter D. (peda)


Lesenswert?

winne schrieb:
> AVR121: Enhancing ADC resolution by oversampling
> Macht das mit 4 Widerständen, zwei kondensatoren und einem Port.

Oh Gott, wirf Hirn herab.
U_REF zu modulieren ist völlig untauglich.
U_REF wird mit U_EIN multipliziert, d.h. mal ist die Modulation riesig 
(nahe U_REF) und mal fast 0 (nahe GND).

Um auch nur ein Bit mehr Auflösung zu erhalten, müßtest Du bei einer 
Eingangsspannung von 0,5LSB die U_REF zwischen 0V und 5V rampen.

von winne (Gast)


Lesenswert?

> Oh Gott, wirf Hirn herab

Bleib mal sachlich und schau dir mal an was von dem Timer-Port letztens 
an Uref ankommt. Das ist bestimmt kein 0 bis Uref "Swing", wie du 
schreibst.

von al_guesto (Gast)


Lesenswert?

winne schrieb:
> Bleib mal sachlich und schau dir mal an was von dem Timer-Port letztens
> an Uref ankommt. Das ist bestimmt kein 0 bis Uref "Swing", wie du
> schreibst.

Steht sogar da was da ankommt:
"...appear as a DC with a ripple peak-to-peak value of a few LSB.", 
wobei der Gleichanteil hier uninteressant ist und es um den ripple geht.

von Peter D. (peda)


Lesenswert?

winne schrieb:
> Das ist bestimmt kein 0 bis Uref "Swing", wie du
> schreibst.

Eben!
Um auch kleine Spannungen in Sub-Bits zu teilen, wäre das aber nötig.
Oder anders gesagt, bei kleinen ADC-Werten von z.B. 0..100 hast Du keine 
Subbits mehr.

Der ADC berechnet sich ja zu:

ADC_val = U_ein * (ADC_res / U_ref)

Wie man schön sieht, bleibt bei kleinen U_ein von dem Delta_U_ref nichts 
mehr übrig.
Und damit verschwinden die Subbits und man hat nur noch die 10Bits 
natürliche Auflösung. Auch beim Mittelwert über 1.000.000 Messungen.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Wolfgang schrieb:
> Abdul K. schrieb:
>> Mehr kann es definitiv nicht werden.
>
> Das hat auch keiner behauptet
>

Les das von MaWin einfach noch einmal, zweimal, dreimal...

von Arc N. (arc)


Lesenswert?

Peter Dannegger schrieb:
> winne schrieb:
>> Das ist bestimmt kein 0 bis Uref "Swing", wie du
>> schreibst.
>
> Eben!
> Um auch kleine Spannungen in Sub-Bits zu teilen, wäre das aber nötig.
> Oder anders gesagt, bei kleinen ADC-Werten von z.B. 0..100 hast Du keine
> Subbits mehr.
>
> Der ADC berechnet sich ja zu:
>
> ADC_val = U_ein * (ADC_res / U_ref)
>
> Wie man schön sieht, bleibt bei kleinen U_ein von dem Delta_U_ref nichts
> mehr übrig.

Etwas weiter rechnen...
1 LSB ~ Vref / 2^n
Bspw. bei 10 Bit und Vref1 4,096 V =  4 mV
bei Vref2 = 4,096 V + 512 mV = 4.5 mV
bei Vref3 = 4,096 V - 512 mV = 3.5 mV

Angenommen die Eingangsspannung wäre 7 mV
mit Vref1 würde der ADC 1 zurück liefern
mit Vref2 auch 1
mit Vref3 liefert er dagegen 2 zurück

Zurückgerechnet mit den jeweiligen LSBs und Mittelwert
(4 mV + 4.5 mV + 7 mV) ~ 5.166 mV
näher am tatsächlichen Wert als mit konstanter Vref1, kommt jetzt noch 
Rauschen des ADCs hinzu und werden mehr Messungen durchgeführt, wird das 
Ergebnis besser.

: Bearbeitet durch User
von boris (Gast)


Lesenswert?

Peter Dannegger schrieb:

> Der ADC berechnet sich ja zu:
>
> ADC_val = U_ein * (ADC_res / U_ref)
>
> Wie man schön sieht, bleibt bei kleinen U_ein von dem Delta_U_ref nichts
> mehr übrig.
> Und damit verschwinden die Subbits und man hat nur noch die 10Bits
> natürliche Auflösung. Auch beim Mittelwert über 1.000.000 Messungen.

Es werden doch nur zwei verschiedene Möglichkeiten genannt, wie das 
ganze verrauscht werden kann. Entweder das Eingangssignal mit Hilfe von 
Sägezähn oder zum anderen die Referenzspannung. Welche ich nun 
verrausche ist doch egal, vorrausgesetzt man braucht die 
Referenzspannung für nix anderes mehr.

von Ulrich (Gast)


Lesenswert?

Es macht schon einen Unterschied ob das Rauschen zur Ref. Spannung oder 
dem Signal dazukommt. Bei der Ref. Spannung ist der Einfluss bei werden 
nahe 0 sehr klein - da reicht das Rauschen also nicht. Es kann aber je 
nach Aufbau des AD Wandlers eine Art übersprechen des Rauschens von der 
Ref. Spannung geben, so dass auch die kleinen Werte noch etwas davon 
abbekommt - für einen idealen AD gilt das aber nicht.

In Grenzen kann sich durch Oversampling sogar auch die Genauigkeit etwas 
verbessern. Ausreißer bei der Schrittgröße (DNL) werden ggf. etwas 
ausgebügelt und reduziert wenn das Rauschen etwas mehr als 1 LSB ist, 
das geht dann aber auf Kosten zusätzlicher Messzeit.

von c-hater (Gast)


Lesenswert?

Peter Dannegger schrieb:

> Nö, ich habs einfach ausprobiert:
>
> ATmega8 genommen, 256 Meßwerte addiert * 3 und dann durch 256 geteilt,
> weil ich bis 3000V messen wollte.
> Und dann eine genaue einstellbare Spannungsquelle angeschlossen.
> Resultat: Es ließen sich nur Vielfache von 3 stabil anzeigen, also 0V,
> 3V, 6V, 9V usw. Zwischenwerte wurden nur kurzzeitig beim Ändern der
> Eingangsspannung angezeigt.

Und wo genau hast du jetzt das Helpersignal eingespeist?

> Es mag sein, daß es schlechte ADCs gibt, die intern rauschen, wie sau.
> Der AVR-ADC gehört nicht dazu.

Das ist genau der Punkt.

OK, ich sehe jetzt, du hast wohl das ganze Prinzip des Oversampling 
nicht kapiert, also verrate ich dir aus Mitleid einen ganz einfachen 
Trick: Du wählst eine ungewöhnlich hohe Samplefrequenz. (In sinnvollem 
Maße) deutlich oberhalb des Bereiches, in dem Atmel in den Datenblättern 
die Auflösung garantiert....

Das funktioniert zwar tatsächlich, ist aber alles andere als optimal. 
Denn das Signal, was hier als Helper dient, ist leider recht stark mit 
der Samplefrequenz korreliert. Das geht weitaus besser. Aber DEN Trick 
verrate ich dir dann doch nicht. Wo bliebe denn der Entdeckerspaß, wenn 
man alles vorgebetet bekommt?

von Wolfgang (Gast)


Lesenswert?

Abdul K. schrieb:
> Les das von MaWin einfach noch einmal, zweimal, dreimal...

Hab ich vorher getan. MaWin sprach von Auflösung.

Du sagst gar nicht, wovon du sprichst. Aus deinen Werten schließe ich 
aber mal, dass du die Verbesserung im SNR meinst.

von m.n. (Gast)


Lesenswert?

c-hater schrieb:
> also verrate ich dir aus Mitleid einen ganz einfachen
> Trick:

Mir bitte auch, am besten mit einem Beispielprogramm. Ich verstehe das 
nähmlich auch nicht :-(

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Wolfgang schrieb:
> Abdul K. schrieb:
>> Les das von MaWin einfach noch einmal, zweimal, dreimal...
>
> Hab ich vorher getan. MaWin sprach von Auflösung.
>
> Du sagst gar nicht, wovon du sprichst. Aus deinen Werten schließe ich
> aber mal, dass du die Verbesserung im SNR meinst.

Es geht natürlich um SNR was synonym zu Auflösung ist. SNR ist es in der 
analog-domain, Auflösung heißt es in der digital-domain.

MaWin hat behauptet, eine Verdopplung der Abtastfrequenz bringt ein Bit. 
Ich behaupte, eine Vervierfachung bringt ein Bit.

Das ist der Grund, warum Oversampling in der Realität schnell 
unwirtschaftlich wird. Echte Wandler nach diesem Prinzip haben 
Modulatoren höherer Ordnung, damit bekommt man mehr Bits für weniger 
Zuwachs an Taktrate. Audio-ADCs haben z.B. gerne einen Modulator 5. 
Ordnung.

von Arc N. (arc)


Lesenswert?

Abdul K. schrieb:
> MaWin hat behauptet, eine Verdopplung der Abtastfrequenz bringt ein Bit.
> Ich behaupte, eine Vervierfachung bringt ein Bit.


SNR = Mittelwert / Standardabweichung bzw.
SNRdb = 6.02 * N + 1.76 dB (N = Anzahl der Bits) oder einer der anderen 
passenden Formeln für das SNR

Shannon-Hartley: C = BW ld(1 + SNR) => SNR = 2^(C/BW) - 1

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Na wenn es denn so genau sein muß, dann verbessere ich deine Aussage 
auch noch mal ;-)

Die 1,76dB gelten nur für quasi-Rauschsignale. Ich glaube es hat sich 
bislang kein Mathematiker gefunden, der das für andere Signale rechnen 
wollte :-))
(Eventuell ist diese Aussage auch für die 6,02dB zutreffend)

von Arc N. (arc)


Lesenswert?

Abdul K. schrieb:
> Na wenn es denn so genau sein muß, dann verbessere ich deine Aussage
> auch noch mal ;-)
>
> Die 1,76dB gelten nur für quasi-Rauschsignale. Ich glaube es hat sich
> bislang kein Mathematiker gefunden, der das für andere Signale rechnen
> wollte :-))
> (Eventuell ist diese Aussage auch für die 6,02dB zutreffend)


;)

Falls jemanden die Originalarbeit interessiert
Spectra of Quantized Signals, Bennett, 1948
http://www3.alcatel-lucent.com/bstj/vol27-1948/articles/bstj27-3-446.pdf

von Peter D. (peda)


Lesenswert?

c-hater schrieb:
> Das funktioniert zwar tatsächlich, ist aber alles andere als optimal.

Genau das ist auch meine Erfahrung.
Entweder man treibt zusätzlichen Hardwareaufwand oder das Ergebnis ist 
grausam. Daher lasse ich solche Sperenzchen lieber.

Wenn ich mehr brauche, nehme ich ganz einfach einen besseren ADC und 
lüge mir nicht selber in die Tasche.

Es gab Notlösungen, die mögen vor 20 Jahren mal einen Kostenfaktor 
dargestellt haben, aber sind heutzutage einfach unsinnig.

: Bearbeitet durch User
von c-hater (Gast)


Lesenswert?

Peter Dannegger schrieb:

> Entweder man treibt zusätzlichen Hardwareaufwand

...oder man denkt mal darüber nach, wie man das Gewünschte auch ohne 
großen zusätzlichen Hardwareaufwand erreichen könnte...

von Ulrich (Gast)


Lesenswert?

Der Zusätzliche Hardware Aufwand für das Oversampling muss nicht 
unbedingt sein. Einige Sensoren bzw. Verstärker rauschen schon genügend, 
oder man hat in der Regel genug 100 Hz Signal mit drauf.

Auch macht man Oversampling nicht nur für mehr Auflösung. Ein anderer 
Grund ist eine einfachere Auslegung des Anti-Aliasing-filters. Ein 
anderer ähnlicher Grund für mehr Abtastwerte ist die Unterdrückung von 
50 Hz und/Oder 100 Hz Störungen. Eine Abtastung und mitteln über ein 
Intervall von 20 ms (oder ein vielfaches) gibt eine gute Unterdrückung 
bei 50 und 100 Hz, und spart so ggf. einen analogen Filter.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Kann ich bestätigen. Meinereiner in einem Leistungsmeßgerät so 
umgesetzt.

von winne (Gast)


Lesenswert?

Hallo und guten Wochenanfang.

Die Ausgangsfrage war eine reine Verständnisfrage, da ging es nicht 
darum eine "bessere" Lösung durch Wahl der Hardware zu erreichen.

Anders noch !
Ich möchte die Thematik noch mehr simplizifieren.

Beitrag "1 Bit AD-Wandlung - Erhöhung der Auflösung durch oversampling"

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

winne schrieb:
> Anders noch !
> Ich möchte die Thematik noch mehr simplizifieren.
>
> Beitrag "1 Bit AD-Wandlung - Erhöhung der Auflösung durch oversampling"

Na dann kann dieser Thread ja gesperrt werden.

Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.