Hallo, gibt es eine Möglichkeit durch Überabtasten die Auflösung eines AD-Wandlers im Mikrocontroller zu erhöhen. Ich wollte einen Controller mit 12bit AD einsetzen, benötige aber eine Auflösung von 16bit.
Wenn du die Möglichkeit hast, die Referenz-Spannung(-en) zu verändern, müsste es gehen. Siehe auch "Mikrocontroller Kochbuch" von Andreas Roth.
Wenn der Wandler schön monoton ist, kann man da noch etwas rausschlagen. Für 2 Bits mehr sollte man mindestens 64 mal aufaddieren. Mehr als 2 Bits sollten aber kaum drin sein. Peter
Hallo, habe Interesse an dem Thema, wie kann man durch aufdadieren eine höhere Auflösung bekommen? 12 Bit bleiben doch 12 Bit oder gibt es da einen Trick? Bitte um Info! Gruß Thomas
ja sicher, das aufaddieren halt. Den Mittelwert kannst du genauer angeben, als eine Einzelmessung.
Du kannst fast beliebig viele Bits rausholen. Der Trick dabei ist, dass Du ein definiertes Rauschsignal auf Dein Signal geben musst. Dieses Verfahren geht aber genau dann in die Hose, wenn Du das Rauschsignal nicht vernüftig kontrollieren kannst oder eben noch andere Störungen auf dem Signal hast. Dann machen die Aliasing-Effekte den Gewinn an Auflösung durch Rauschen, Oversampling und digital filtern wieder zu nichte.
Vergesst die Nichtlinearität nicht. Zwar kann man die evtl. per Software korrigieren, aber dazu braucht man erst einmal ein entsprechend genaueres Referenzgerät zur Kalibrierung.
Danke soweit für die Info. Das Problem ist wohl ein Rauschsinal zu generieren, damit das letzte Bit toggelt und ich somit über einen Mittelwert ein genauere Ergebnis bekomme. Aber wie kann ich dieses Signal stabil erzeugen?
Rauschsignale erzeugt man am besten digital. Dann eben noch filtern (teils digital, teils analog) und dann aufs Signal geben. Naja, aber ein DSP wäre dazu wohl besser geeignet, da so ein AVR mit dem Erzeugen eines definierten Rauschsignals schon ziemlich gut beschäftig wäre.
das kann nicht gehn... nur mal so am rande bemerkt... wenn er 16bit genauigkeit hat kannst du nicht einfach aufaddieren und hoffen, dass deine information mehr wird... du kannst durch mittelwert-bildung nur stochastische fehler minimieren... sprich wenn von deinen 16 bit nur effektiv 12bit an sinnvollen informationen da sind (rest meinetwegen rauschpegel) dann kannst du durch vernünftige mittlung unterumständen was rausschalgen... aber wenn du nur physikalisch 12bit auflösen kannst dann können da aber nicht auf einmal 4 bits auftauchen... 73
Der Trick bei der ganzen Sache ist der gleich wie bei der Delta-Sigma-Wandlung. Da ist der eigentlich AD-Wandler oft nur 1-Bit , der Rest kommt durch "spezielle Mittelwertbildung". Die Absolutgenauigkeit wird durch das ganze nicht unbedingt erhöht, aber die Auflösung kann schon gesteigert werden. Als Rauschsignal reicht u.U. das Messsignal selbst, wenn dort genügend Rauschen drauf ist. Am besten ausprobieren. Gruß Thomas
Annahme: 12bitADC mit tatsächlich 12 richtigen Bits, Wert V0 . Ein 13. Bit kannst du auf folgende Weise erhalten: Du überlagerst das zu messende Signal mit einem Rauschen von +- 0,5 LSB Dieses Signal misst du nun mehrmals, dann wird dein Messwert entweder zwischen V0 und V0-LSB oder zwischen V0 und V0+LSB schwanken. So hast du eine Auflösung von 13bit erreicht. Technisch gesehen wird das zwar schwierig zu realisieren, aber theoretisch ist es möglich.
@Andreas In der Atmel Applikationsnote 121 (AVR121: Enhancing ADC resolution by oversampling) gibt es ein Beispiel um die Auflösung des internen 10 Bit Wandlers zu erhöhen. Gruss Frank
Doch Hans, das geht. Einfach mal ein wenig Signaltheorie pauken, und Statistik und Mathematik allgemein... Ansonsten, man brauch auch nicht nur an einem LSB wackeln, man kann auch mehr wackeln. Der entscheidende Punkt ist aber, wie gesagt, das richtig gewackelt wird. Aber das ursprüngliche Problem, dass sich mit jedem Bit der Anspruch an die Qualität der Elektronik, in diesem Fall besonders an das Rauschen, verdoppelt, liegt in der Natur dieser kleinen Bits.
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.