Forum: Digitale Signalverarbeitung / DSP / Machine Learning Oversampling verstehen


von hahgeh (Gast)


Lesenswert?

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

von ARM-Fan (Gast)


Lesenswert?

Die Wandler brauchen keine Probleme lösen.
Klassischer Fall von PEBCAK ;-)

10 bit sind eben 1024 mögliche Werte und nicht 1023.

von Falk B. (falk)


Lesenswert?

@ 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

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

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.

von hahgeh (Gast)


Lesenswert?

@ 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

von sechsnullsechs (Gast)


Lesenswert?

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.

von Falk B. (falk)


Lesenswert?

@ 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

von I_ H. (i_h)


Lesenswert?

> 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.

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.