Oversampling verstehen

Gast #702269
Hallo,

Oversampling ist doch auch dazu geeignet eine höhere Auflösung zu 
erreichen?
Wenn man z.B. immer 4 10-bit Werte addiert, erhält man eine 
resultierende Auflösung von 12 bit.
Dachte ich zumindest immer.
Aber so kann man nicht den vollen bereich von 0 bis 4095 ausschöpfen, 
denn der maximale Wert liegt bei 4*1023=4092, also etwa 11,999 bit.

Wie wird das Problem in AD-Wandlern gelöst, die ja auch manchmal intern 
die Auflösung erhöhen und trotzdem den vollen Bereich ausgeben?

VDumfG,
hahgeh
@ hahgeh (Gast)

>Oversampling ist doch auch dazu geeignet eine höhere Auflösung zu
>erreichen?

Ja.

>Wenn man z.B. immer 4 10-bit Werte addiert, erhält man eine
>resultierende Auflösung von 12 bit.

Nö, 11 Bit.

Und das gilt nur bis zu einem bestimmten Punkt unter der Vorraussetzung, 
dass das Messignal ein Rauschen von ca. 1..2 LSB hat. UNd man kann damit 
nicht aus einem 10 Bit Wandler einen 24 Bit Wandler machen. Das ist 
Augenwischerei.

>Dachte ich zumindest immer.
>Aber so kann man nicht den vollen bereich von 0 bis 4095 ausschöpfen,
>denn der maximale Wert liegt bei 4*1023=4092, also etwa 11,999 bit.

Akademische Details.

>Wie wird das Problem in AD-Wandlern gelöst, die ja auch manchmal intern
>die Auflösung erhöhen und trotzdem den vollen Bereich ausgeben?

Das machen AFIAK nur Sigma-Delta-Wandler. Und dort ist noch ein 
digitales Filter drin, das funktioniert anders.

MFG
Falk
Vielleicht mit Aufrunden? Alle Messungen müssten mit dem Faktor 
4095/4092 multipliziert werden, dann stimmts exakt.
Messen diese ADCs nicht erst mal intern mehr Stellen, das geht ja über 
digitale Tiefpassfilterung der Messungen? Ein 1-Bit-Wandler mit 
Oversampling hat zunächst mal mehr Stellen als nötig. 
http://de.wikipedia.org/wiki/Sigma-Delta-Wandler
Mit dem fest für 10 Bit gebauten internen ADC eines Mikrocontrollers ist 
das eben nicht gegeben.
Gast
@ Falk Brunner (falk)

>Nö, 11 Bit.

>Aufloesung_{Oversampling} = \sqrt{N} * Aufloesung_{ADC}

>Und das gilt nur bis zu einem bestimmten Punkt unter der Vorraussetzung,
>dass das Messignal ein Rauschen von ca. 1..2 LSB hat. UNd man kann damit
>nicht aus einem 10 Bit Wandler einen 24 Bit Wandler machen. Das ist
>Augenwischerei.

>>Dachte ich zumindest immer.
>>Aber so kann man nicht den vollen bereich von 0 bis 4095 ausschöpfen,
>>denn der maximale Wert liegt bei 4*1023=4092, also etwa 11,999 bit.

>Akademische Details.

Und wie wird dann das Resultat berechnet?

VDumfG,
hahgeh
Gast
Naja, aufsummieren und dann schieben. Ob es nun 11, 12, oder 13 bit sind 
ist anderswo definiert. Man kann die Summe auch als 16bit wert 
darstellen. Die hintersten sind dann eben einfach Rauschen. Ich 
persoenlich habe uebrigens mit 256 Summationen 13 bit erreicht. Die 
Werte sind stabil und stetig.
@ hahgeh (Gast)

>>denn der maximale Wert liegt bei 4*1023=4092, also etwa 11,999 bit.

>Und wie wird dann das Resultat berechnet?

Wie Christoph geschrieben hat, oder indem man einfach 4092 als Maximum 
in alle Formeln einsetzt. Was aber auch nicht richtig ist, denn die 
Summe der vier Messwerte muss wieder durch zwei geteilt werden, da die 
echte Auflösung nur 11 Bit beträgt. Dann kommt 2046 raus.

MFG
Falk
> denn die
Summe der vier Messwerte muss wieder durch zwei geteilt werden, da die
echte Auflösung nur 11 Bit beträgt. Dann kommt 2046 raus.

Das würde mich mal interessieren. Eigentlich kommen ja, wenn man 
aufsummiert, 4*1023 verschiedene Werte raus. Welcher Wert das dann 
letztendlich wird hängt nur von der Häufigkeitsverteilung der Messwerte 
ab (zB. 3mal 500, 1mal 501 -> 2001/4 -> 500.25), nicht davon wann 
welcher Messwert kommt (also da gehen durch's Aufsummieren keine 
Informationen verloren). Und die Häufigkeitsverteilung entspricht genau 
dem Messwert.

Da fehlen dann übrigens auch die Werte bis 4096. Aus 1 mach 4 bit 
bedeutet, dass nun für jeden Wert 4 Werte zur Verfügung stehen. Also 
statt 0 dann 0, 0.25, 0.5, 0.75. Dann 1, 1.25, 1.5, 1.75 usw. Und ganz 
zum Schluss 1023, 1023.25, .5 und .75. Nur das es die letzten 3 Werte 
eben nicht gibt, 1023*4/4 gibt immernoch 1023.
Oversampling funktioniert nur mit einem statistisch gleichverteilten 
Rauschen, und damit das bei 1023.75 funktioniert müsste man auch 1024 
als Wert erfassen können, weil der Messwert eben mal drüber und mal 
drunter liegt. Da das aber nicht geht...


nochmal @Falk: Oder ist in deiner Aussage schon das Gesetz der großen 
Zahlen berücksichtigt? Dann käme das natürlich hin, bei 4 Messwerten 
besteht ja auch eine gute Wahrscheinlichkeit, dass der Messwert 4mal 
über dem realen Wert liegt, obwohl er eigentlich drunter liegt.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.