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
Die Wandler brauchen keine Probleme lösen. Klassischer Fall von PEBCAK ;-) 10 bit sind eben 1024 mögliche Werte und nicht 1023.
@ 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.
@ 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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.