www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Digitale Daten entrauschen


Autor: Guest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Salu zusammen

Habe hier mal ne Frage:

Wenn ich einen Sensor, sagen wir z.B. Beschleunigungssensor nehme, sagen 
wir mit 14 Bit breite, dann sind ja die untersten paar Bit immer 
verrauscht. Kann mir jemand einen Tipp geben wie man dem entgegenwirken 
könnte? Klar ist, das das Layout auch seinen Teil dazu beiträgt, da ich 
aber als Layouter arbeite, traue ich mir das noch zu. Irgendwann ist 
dann aber Schluss mit Layout optimieren. Wie hole ich "mehr Bits" aus 
dem Sensor raus die ich gebrauchen kann.

Gruss

PS: Gibt es eine Aussage darüber wieviel ich bei einer Herstellerangabe 
von 14 Bit wirklich gebrauchen kann? Will hier keine eindeutige Zahl, 
ist ja Sensorabhängig, aber was sagt die Praxis. Bei 14 Bit z.B. immer 2 
wegschmeissen? :o)

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn das Schaltungsdesign anständig ist, dann sollte höchstens das 
unterste Bit "wackeln". Wobei aufgrund externer Störeinflüsse oft die zu 
messende Größe bereits verfälscht ist, nach dem Motto "Wer misst, misst 
Mist".

Abhilfe schafft hier eine diese externen Störeinflüsse berücksichtigende 
Messweise. Bei Gleichspannungssignalen ließe sich über einen ausreichend 
langen Zeitraum integrieren oder aber ein Mittelwert über eine 
definierte Anzahl von Messungen über einen definierten Messzeitraum 
berechnen.

Da das "meiste" Störsignal der Netzbrumm mit 50 Hz ist, empfiehlt es 
sich, den Messzeitraum darauf abzugleichen, also über eine ganzzahlige 
Anzahl von 20 msec-Intervallen zu messen. Wenn dann die durchgeführten 
Messungen gleichmäßig in diesem Messzeitraum untergebracht werden 
(beispiel: 32 Messungen in einem 40 msec-Intervall, also alle 1.25 
msec), dann fällt bei einer Mittelwertbildung der Netzbrumm recht 
effektiv 'raus.

Wird der Mittelwert mittels Integer-Arithmetik gebildet, so sind alle 
Messwerte zu summieren und zur Rundungskompensation die halbe 
Sampleanzahl hinzuzufügen. Bei 32 Messungen also der Wert 16.

So gebildete Werte sind sehr viel "ruhiger" als die anfallenden 
Einzelmesswerte, die bereits bei einem 12-Bit-ADC oft mit mehr als den 
unteren 3 Bit "wackeln".
Zu beachten ist noch, daß der ADC genau synchron zum 
Prozessor-/Controller-takt angesteuert werden sollte, auch dessen 
interner Takt sollte sich auf den Referenztakt beziehen.
Andernfalls können sich das Messergebnis beeinflussende Schwebungen 
bilden.

Soll sehr viel schneller gemessen werden, müssen andere 
Kompensationsmaßnahmen ergriffen werden. Der Netzbrumm als Hauptstörer 
ist aber so gut wie immer vorhanden ...

Autor: Thomas Bremer (Firma: Druckerei Beste) (virtupic)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soso, Thermometer mit 14 Bit... Welchen Temperaturbereich hast du denn? 
Ich gehe mal von 0°C bis 100°C aus. Dann digitalisierst du mit eineer 
Auflösung von ungefähr 0,0061°C. Gibt dein Sensor das überhaupt her? An 
Eichung, Liearität, Rauuscharmut? Brauchst du das?

virtuPIC
/ggadgets for tools & toys

Autor: Nitram L. (nitram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas Bremer wrote:
> Soso, Thermometer mit 14 Bit... Welchen Temperaturbereich hast du denn?

Warum Thermometer???
Habe ich was verpasst???

nitraM

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht ist ja "Beschleunigungssensor" ein geheimes Codewort für 
"Thermometer" ...

Man kann ja nie wissen.

Autor: Leser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wer lesen kann ist klar im Vorteil...

Autor: Leser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bezieht sich natürlich auf den Beschleunigungsthermosensor...

Autor: Nitram L. (nitram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leser wrote:
> Bezieht sich natürlich auf den Beschleunigungsthermosensor...

den verstehe ich leider auch nicht... :-(

nitraM

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht ist es irgendwo* zu warm, so daß sich irgendwo das Wort 
"thermo" quasi automatisch einschmuggelt.


*) oder woanders, jedenfalls dort und nicht hier.

Autor: Guest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
lol also das mit dem Beschleunigungssensor war nur ein Beispiel. Habe 
zwar gerade das Prob, aber ob Beschleunigungssensor, Termofühler ect. 
ist doch egal. Es geht lediglich darum wenn bereits ein verrauschtes 
Signal vorhanden ist, was man dann noch machen kann. Klar sollte man es 
immer versuchen zu vermeiden, aber man ist halt nicht alleine auf dieser 
Welt (leider :o)

Vielen Dank auf alle Fälle an Rufus! Hast mir nen guten Tipp gegeben!

Merci und en schönes Weekend

Autor: 3352 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Thomas Bremer (Firma Druckerei Beste) (virtupic)
>Soso, Thermometer mit 14 Bit... Welchen Temperaturbereich hast du denn?
>Ich gehe mal von 0°C bis 100°C aus. Dann digitalisierst du mit eineer
>Auflösung von ungefähr 0,0061°C. Gibt dein Sensor das überhaupt her? An
>Eichung, Liearität, Rauuscharmut? Brauchst du das?

Ich verklopp Temperaturcontroller, die haben 16bit. Macht fast ein 
milliKelvin Aufloesung. Der Witz daran ist nicht die absolute
Genauigkeit, sondern die relative Stabilitaet. Wenn man damit einen 
Oszillator stabilisiert, so ist der je nach Charakteristik auf
ein ppm oder so stabil.

Autor: luxnix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
digital filtern.

FilterAusgang_long+=(long)FilterEingang-(long)FilterAusgang;
FilterAusgang=FilterAusgang_long/32;

Die "32" geben praktisch die Zeitkonstante des Filters an.
Zahl sollte 1,2,4,8,16,32 ... sein.

1: keine Filterung
2: schnelle Filterung, jedoch noch wenig Filterwirkung
...
256: langsames Filter, gute Filterwirkung.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.