Hallo, ich habe eine Frage bezüglich der Bedeutung der Bandbreite eines analogen Sensorausgangs:
Laut Datenblatt steigt das Rauschen im Ausgang linear mit der verwendeten Bandbreite, man sollte sie so gering wie nötig halten. Außerdem soll sie maximal halb so hoch wie die A/D-Sampling-Frequenz sein.
Meine Frage: Woher weiß ich denn, welche Bandbreite ich benötige? Die Sampling-Frequenz liegt bei 10Hz, was spricht dagegen, die Bandbreite so gering wie möglich, sprich bei 1Hz, zu halten?
Vielen Dank für die Erklärung. Die Signalfrequenz liegt bei 2.5kHz, soll der ADC später mit 10Hz samplen, wäre also eine Bandbreite von max.
0.1Hz zu wählen.
Der Sensor ist der ADXL203 Beschleunigungssensor von ADI. Er hat eine Empfindlichkeit von 1000mV/g, die der 14bit-ADC theorethisch auflösen kann. Und genau das soll er auch tun.
"Nicolas Tessore" schrieb im Newsbeitrag news:d3aurs$3vp$05$ snipped-for-privacy@news.t-online.com...
Nichts, 0.1Hz waere noch besser, aber Bandbreite ist kein scharfer Knick. Je nach Filter ist der Uebergang zwischen dem korrekt gemessenen Signal und voellig (< LSB) unterdruecktem Signal fliessend, man sagt Bandbreite zu der Stelle wo der Filter die Frequenz um 3db (also auf
1/10tel) absenkt. Schon vorher wird das Signal beeinflusst, und hinterher ist es nicht ganz weg. Man waehlt also einen Filter nach der benoetigten Steilheit, je steiler je aufwaendiger und je steiler, je staerker sind die signalverfaelschenden Nebeneffekte wie Phasenverschiebung und Welligkeit der Durchlasskurve, also waere es gut, viel Platz zu haben (Samplingfrequenz : Filterbandbreite : hoechte Signalfrequenz je 1:100 statt 1:10 und moeglichst nie nur 1:2).
Man kann auch digital Rauschen wegfiltern (mehrere Samples Mitteln), das ist oft sinnvoller als ein zu aufwaendiges Filter zwischen Sensor und Analogeingang.
--
Manfred Winterhoff, reply-to invalid, use mawin at despammed.com
homepage: http://www.geocities.com/mwinterhoff/
Es gäbe die auch mit PWM-Ausgang, was die Digitalisierung Richtung auf Auflösungsrekordversuche erleichtert. Bei üblichen theoretischen Betrachtungen zu Rauschen wird davon ausgegangen, daß es sich um weisses Rauschen handelt. Wenn dem wie so oft nicht so ist, sondern z.B. Spikes oder Sprünge rauskommen, ist man mit digitaler Mittelwertbildung in Controller besser bedient weil man dann z.B. Median-Filter anwenden kann die es als analoge Filter nicht gibt. Wenn man 10Hz Samplerate anstrebt sollte die Belastung für Controller nicht sehr hoch sein, RAM ist alllerdings nützlich.
RAM ist auch vorhanden, nur brauche ich die Werte zu einem exakt definierten Zeitpunkt, da sie sich sehr schnell ändern. Ich habe quasi kein Zeitfenster, in dem ich Werte mitteln bzw. PWM messen kann.
Wenn die Signalfrequenz 2,5kHz definiert als -3dB-Frequenz ist und man würde ein ideales Tiefpaßfilter als Aliasingfilter mit 2,5kHz vorsehen müsste der A/D-Wandler mit mindestens 5kHz abtasten damit man die volle Signalbandbreite bekommt.
Wenn man den Sensor kippt wird er sich das Signal sprungförmig verändern. Würde man normales Tiefpaßfilter vorsehen kriecht das Signal nach. Den Kompromiß hat man aber immer: entweder im stationären Fall hohe Auflösung weil man das Rauschen durch Tiefpaßfilter/ Averager wegmittelt. Oder bei Sprung hohe Reaktionszeit weil man auf die Filter verzichted. Der Vorteil bei einem digitalen System ist, daß man wenn man einen Sprung detektiert Funktionsmodus zeitweise wechseln kann. Man kann z.B. die Speicher der Tiefpaßfilter neu initialisieren oder die Zeit die der Averager zurückblickt zeitweise kürzer wählen. Nichtlineare Filterarten sind auch möglich.
Es wäre mal sinnvoll zu sagen was das Spielzeug werden soll und welcher Prozessor werkeln soll.
Einspruch! Die minimale Samplingfrequenz ist das Doppelte der Bandbreite, nicht unbedingt das Doppelte der höchsten Frequenz. Wenn, wie behauptet, die Bandbreite 0.1 Hz ist, reicht eine Samplingfrequenz von 0.2 Hz, also alle 5s ein Sample.
Dann ist die angegebene Bandbreite falsch! Oder hätte es 0.1 kHz sein sollen?
Eigentlich sollte man einen Bandpass benutzen, um die Bandbreite zu minimieren.
"Nicolas Tessore" schrieb im Newsbeitrag news:d3b2lg$vfj$00$ snipped-for-privacy@news.t-online.com...
verstehe ich Dich richtig, Du willst ein Signal bei 2.5 KHz mit 10 Hz abtasten? Das nennt man Unterabtastung, da mußt Du einiges beachten. Wenn Du bei 10 Hz abtastest, ist Dein Signalspektrum auf 5 Hz Bandbreite begrenzt, sonst erfolgt Überlappung mit Aliaskomponenten. Du müßtest also Dein Sensorsignal bei 2500 + 2.5 Hz auf +-2.5 Hz _analog_ bandbegrenzen, also 5 Hz Banbreite, dadurch wird das Rauschen auch entsprechend klein. Rein überschlägig gesehen halte ich das für fast nicht machbar. Im digitalen Bereich kannst Du dann mit einem Filter nachträglich die Bandbreite beliebig begrenzen, wodurch das Rauschen auch kleiner wird. Dann erscheint Dein Signal nicht mehr bei 2500 +-2.5 Hz, sondern bei 2.5 +-2,5 Hz. Diese Technik wird z.B. bei Sampling Scopes eingesetzt. Wenn Dein Signal periodisch ist, was ich bei einem Sensor nicht glaube, könntest Du das Rauschen durch Mittelung beliebig reduzieren.
Wenn Du ohne analogen Bandpaß arbeitest, wird obige Formel wohl nicht ganz stimmen, weil Du das Breitbandrauschen bis 2.5 KHz drin hast. Aber so ganz genau habe ich das jetzt nicht nachgeprüft.
Eher umgekehrt. Bei einem z.B. 1pol Tiefpaßfilter ( wenige Sensoren sind 2pol oder noch steiler ) fällt das Signal jenseits der -3dB Frequenz die die Bandbreite angibt nur recht langsam ab. Würde man also mit dem doppelten dieser Frequenz samplen würde man mächtig aliasing zurückspiegeln.
Achso, ich kenne mich mit Beschleunigungssensoren nicht aus. Wenn der DC-Wert gebraucht wird, würde ich den ebenfalls TP- Filtern und vor der A/D-Wandlung zu dem bandbreitenbegrenzten Nutzsignal addieren. Dann hätte man als Frequenzbereich z.B.
0-1 Hz und 2,5 kHz +- 100 Hz.
das war die Theorie...
Man braucht dann vor der A/D-Wandlung entweder ein zusätzliches Filter, um die Nyquist-Bedingung zu erfüllen, oder man tastet mit einer hohen Sampligrate ab und filtert dann im Digitalen. Solange der A/D-Wandler und die Bauteile davor im linearen Bereich bleiben, kriegt man mit der Filterung im Digitalen dieselbe Störunterdrückung wie mit einem schmalbandigen Analogfilter.
Das Spielzeug (im wahrsten Sinne des Wortes) soll seine Position(sänderung) wahrnehmen können, und dann zu einem bestimmten Zeitpunkt (bspw. alle 1/10sec) genau wissen, wo es grade (vom Ausgangspunkt gesehen) ist.
Ich wollte einfach jeweils die momentanen Werte des Sensors nehmen und speichern, dann sollten sie am PC ausgewertet werden. Inzwischen glaube ich aber dass es wohl besser wäre, die Beschleunigung durchgehend digital zu messen, die Ortsänderung direkt am µC auszurechnen und zum Zeitpunkt t sofort die aktuelle Position zu speichern.
Die benoetigte Bandbreite haengt auch davon ab, was gemessen werden soll. Zuwenig Bandbreite kann schnelle Anederungen der Messgroesse "verschlucken". Wenn es ein Luftdrucksensor ist und man will nur den aktuellen Luftdruck messen, reichen Bruchteile eines Hertz. Will man aber Druckschwankungen bei Sprengungen messen, reicht das nicht.
No big deal. Heruntermischen auf Null, tiefpassfiltern und I/Q demodulieren. Oder auf eine "Zwischenfrequenz" von ein paar zig Hertz heruntermischen und mit aktivem Filter versehen. Wenn es etwas teurer sein darf, sind Switched Capacitor Filter hier auch sehr schoen einsetzbar.
Nennt sich INS "Inertial Navigation System". Mindestens seit Ende 50er Jahren für z.B. Flugkörper in Anwendung. Braucht noch Integratoren im Controller: Beschleunigung -> Geschwindigkeit -> Weg. Meßfehler akkumulieren sich dabei munter. Mit "Inertial Navigation" und "ADX*" kann man wohl auch newsgroups wie sci.electronics oder comp.arch.embedded googlen, Modellbauer haben das mit den Sensoren schon öfters versucht, Erfolg unklar.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.