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)
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 ...
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
Thomas Bremer wrote:
> Soso, Thermometer mit 14 Bit... Welchen Temperaturbereich hast du denn?
Warum Thermometer???
Habe ich was verpasst???
nitraM
Vielleicht ist ja "Beschleunigungssensor" ein geheimes Codewort für "Thermometer" ... Man kann ja nie wissen.
Leser wrote:
> Bezieht sich natürlich auf den Beschleunigungsthermosensor...
den verstehe ich leider auch nicht... :-(
nitraM
Vielleicht ist es irgendwo* zu warm, so daß sich irgendwo das Wort "thermo" quasi automatisch einschmuggelt. *) oder woanders, jedenfalls dort und nicht hier.
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
@ 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.
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.
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.