Forum: Mikrocontroller und Digitale Elektronik Aus 12bit ADC 16bit machen


von Der Sepp (Gast)


Lesenswert?

Hallo!

in meinem Mikrocontroller (ARM7 von ST) ist ein 12bit ADC
eingebaut. Durch mehrere Messungen und Mittelwertbildung kann
man bekanntlich das Rauschen verringern.

Ist es auch möglich, durch Mittelwertbildung eine Auflösung
zu erhalten, die über die ursprüngliche hinausgeht?
Also z.B. 1000 Messungen mit 12bit ADC -> 16bit?

von Alexander L. (lippi2000)


Lesenswert?

Kurz und knapp: NEIN!

Mit Mittelwertbildung kannst du nur Störgrößen (Rauschen) verringern. 
Woher soll die Abstufungen kommen????

von 6644 (Gast)


Lesenswert?

Rauschen hat's genug, und gaussverteilt ist es sicher auch... 4 
zusaetzliche bits bekommt man mit 16^2 Messungen. Zur Sicherheit nimmt 
man 1024 Messungen. Ist ein Versuch wert.

von Martin (Gast)


Lesenswert?

Doch, das geht, ich habe schon aus einem 10Bit einen 14Bit AD Wandler 
gemacht. Dabei habe ich dann aber vielleicht alle 0,1 Sekunden eine 
Messung gemacht, sonst schwankt der Wert zu doll. Du kannst z.B 8192 
Messungen machen und dann durch 1024 teilen, dann hast du 3 Bit Gewinn.

von Alexander L. (lippi2000)


Lesenswert?

In der Regel kannst du 12Bit gerade mal 11 verwenden, mehr wird schon 
garnicht spezifiziert. Somit wären das nach deiner Aussage 16^3 = 
4096!!!

von Gerd G. (gege)


Lesenswert?

Hi Sepp,

schau Dir mal die Oversampling appnotes bei atmel, silabs.com und 
microchip.com an. Dort werden die Möglichkeiten -und Grenzen- gut 
erklärt.

Also: ausprobieren und Auflösung hochschrauben - und darauf achten ab 
wann zusätzliche Bits nur noch Rauschen aber kein Signal bringen.

Gruß

Gerd.

von Alexander L. (lippi2000)


Lesenswert?

Genau. Kleines Gedankenspiel: Dein Signal Sinus wird 10x abgetastet und 
hat ne Amplitude von 1LSB, dann erhälst du mit ner Mittelwertbildung 
idealerweise nen  Signal mit nem positiven und negativen Peak mit der 
Breite der Abtastzeit und dazwischen Null. Mit 16Bit-ADC könntest du 
wenigstens noch nen Sinus erahnen.

Also da gehören schon einige Grenzbedingungen dazu.

von avion23 (Gast)


Lesenswert?

>Kurz und knapp: NEIN!

>Mit Mittelwertbildung kannst du nur Störgrößen (Rauschen) verringern.
>Woher soll die Abstufungen kommen????

Kurz und knapp: falsch
Wie "gerd gerd" gesagt hat kann man oversampling verwenden. Dass 
Rauschen wird dabei benutzt, ohne rauschen geht es nicht. Die Theorie 
ist, dass das LSB zwischen zwei werten hin und her schwankt durch das 
rauschen. Wenn es 1x high und 1x low war, ist der durchschnitt 0.5... 
das spiel kann man weiter treiben :)

von Gerd G. (gege)


Lesenswert?

... und das Rauschen kann man auch noch digital rausfiltern -  dann 
sieht's mit Signal/Rauschabstand noch etwas besser aus als bei 
Mittelwertbildung.

Viel Spaß beim Probieren

Gerd.

von Karl (Gast)


Lesenswert?

So ist es. Ein ordentlicher FIR als Tiefpass mit einer geeigneten 
Fensterfunktion bringt da schon einiges. Eine Mittelwertbildung ist im 
Prinzip auch nur ein Tiefpass mit fragwürdigen Eigenschaften (als 
solcher).

von Gerd G. (gege)


Lesenswert?

Karl wrote:
> Ein ordentlicher FIR als Tiefpass mit einer geeigneten
> Fensterfunktion bringt da schon einiges.

A propos Oversampling mit FIR Filter statt Mittelwert:

Wüßte hier jemand wie man FIR Filter mit schneller Impulsantwort (d.h. 
nichtlinearer Phase) rechnet bzw. linear-phasige in nichtlinear-phasige 
umrechnet? (Hatte das im DSP-Forum schonmal ohne Reaktion gefragt.)

Ich mußte leider auf IIR-Filter ausweichen, obwohl ich genug 
Speicher/Rechenzeit für FIR hätte. Steilflankige linear-phasige FIR 
Tiefpässe mit Grenzfrequenz weit unterhalb der Samplingfrequenz werden 
schon sehr langsam - wenigstens mit meinen Filterprogrammen

Gruß

Gerd.

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.