Hallöchen, ich schlage mich jetzt schon ein paar Tage mit dem ADC vom Atmega328p rum, welcher in meinem Arduino Nano verbaut ist. Ich möchte von Kanal A7 und A6 Daten (von Drucksensoren) mit einer Sampling Rate von 62.500 Hz (31.250 Hz pro Kanal) abtasten und die Messergebnisse "aufmitteln" (mit 310 Werte auf addieren und dann durch 310 teilen) und sie dann mit 100 Hz per USB (Serial.print) an ein LabVIEW Programm schicken. Ich nutze den Autotrigger Modus vom ADC, welcher von Timer1 compare match B gesteuert wird. Den Timer nutze ich im CTC Modus. In jedem ADC Interrupt (also in der ADC ISR ADC_vect) lese ich das ADC register aus und führe einen Kanalwechsel durch. Soweit so gut. Mit Portmanipulationen und nem Oszi habe ich sowohl die Timer Interrupts, als auch die ADC Interrupts gemessen, die hauen genau so hin, wie ich sie rechnerisch erwartet habe. Auch die 100Hz Datenrate konnte ich mit einem LabVIEW programm messen. Die Live-Anzeige in LabVIEW sieht gut aus und macht genau das was ich haben möchte, wenn ich an die drucksensoren n bisschen mit ner spritze rum drücke. Die drucksensoren werden mit den 5V vom arduino betrieben und basieren auf dem prinzip von dms und einer halbbrücke. Die referenzspannung für den adc kommt von den 3.3V vom arduino, ein entsprechender jumper wurde dafür gesetzt. Zwischen drucksensoren und arduino ist noch eine verstärkerschaltung um die signale zu konditionieren. Den schaltplan füge ich hinzu. Die verstärkung funktioniert gut. Jetzt habe ich beim ausführlichen Testen der ganzen Geschichte mehrere Problemchen. Mein gedanke war dabei, dass ich bestätigen wollte, dass bei 100Hz „transmissions rate“ ja 50Hz nach nyquist fehlerfrei abtasten lassen….naja das größte problem was mich jetzt stört ist: 1. Wenn ich an die Drucksensoren mittels eines in einer luftdichten Box eingebauten Lautsprechers periodische Druckschwankungen gebe (sinus, sägezahn) baut mir die Amplitude der gemessenen Signale eine schöne Einhüllende mit einer Frequenz von unter 0,3 Hz ein. Die reine Signalfrequenz stimmt, die FFT liefert mir ein Peak welcher mit der Frequenz übereinstimmt, mit der ich den Lautsprecher ansteure. Wenn ich also bspw. den lautsprecher mit 25 Hz treibe, kommt der peak der fft bei 25hz. bildchen vom Signalverläufen sind im post. Es konnten sowohl das Schlauchsystem was die box und die drucksensoren miteinander verbindet, als auch die Lautsprecherbox, die Drucksensoren selbst und die Verstärkerschaltung 100% ausgeschlossen werden. Im endeffekt habe ich den ausgang vom singalgenerator direkt an die analogeingänge des arduinos gehangen. Heißt das Problem liegt am/im Arduino. Ich habe allerdings keine ahnung woran es noch liegen könnte. Die sensoren und die verstärkerschaltung nicht mit dem arduino zu versorgen hat auch nichts gebracht. Eine externe referenz auch nicht. Umprogrammierung mit der lib-funktion analogRead bringt das gleiche problem. Zum thema analoge und digitale masse trennen, weiß ich gerade nicht so richtig wie ich ran gehen soll, kann mir aber nicht vorstellen, dass es daran liegt (wegen test signal generator direkt an arduino). Das system auf einen kanal umgebaut, also ohne kanalwechsel, bringt immer noch die „langsamen“ oberwellen dazu. So langsam gehen mir die ideen aus. Dann habe ich noch eine allgemeine frage zum adc: wenn der interrupt vom ADC (ADC_vect) ausgelöst wurde, heißt das ja, dass eine wandlung durchgeführt wurde. In datenblättern und foren liest man, dass man nach nem kanal oder ref wechsel die erste messung verwefen soll. Kann ich das im autotrigger mode erreichen, in dem ich der ISR vom ADC_vect einfach ein ADCSRA |= (1<<ADSC) rein schreibe? Habs im code mt nem kommentar gekennzeichnet. Es wäre super, wenn jemand noch ein ähnliches problem oder ideen hat, woran das liegen könnte. grüße PS: die diagrammname lehnen sich an die signalfrequenz an: 10.png = 10hz, 125.png = 12,5 hz, 25.png = 25hz usw...
Vergiss die 310 Werte, das ist quatsch. Schau dir die Story an : https://www.ibrtses.com/embedded/exponential.html Und mittle ueber 256. Mit einer einzelnen Speicherstelle. Die Diagraemmchen zeigen Sampling interferenzen. Eine Frage des Reinzoomens in das Oszilloskop. Eine Frage der anzahl Punkte. Allenfalls kannst du von 1k auf 10k, oder 100k Punkte pro scan setzen.
Andre R. schrieb: > In datenblättern und foren liest man, dass man nach > nem kanal oder ref wechsel die erste messung verwefen soll. Der ADC ist dafür gemacht, und so steht’s auch im Datenblatt, daß er nach jeder Wandlung auf einen anderen Kanal umschalten kann. Solange deine Quelle ausreichend niederimpendant ist, geht das ohne dummy-Wandlung. Zusätzliche Zeiten bzw. verwerfen des nächsten Wandlungsergebnisses braucht es beim umschalten von oder auf differentielle Wandlung oder Umschaltung der Referenz. Das verwerfen der nächsten Wandlung erreicht man in der Regel durch verwerfen des Ergebnisses. Oliver
Zitronen F. schrieb: > Die Diagraemmchen zeigen Sampling interferenzen. Eine Frage des > Reinzoomens in das Oszilloskop. Eine Frage der anzahl Punkte. Allenfalls > kannst du von 1k auf 10k, oder 100k Punkte pro scan setzen. dachte ich anfangs auch aber das ist es nicht. habe im anhang mal gezoomte bilder von 25hz und 50hz angehängt.
Zitronen F. schrieb: > Schau dir die Story an : > https://www.ibrtses.com/embedded/exponential.html > Und mittle ueber 256. Mit einer einzelnen Speicherstelle. Alles klar, zieh ich mir mal rein. Hab mir schon iwie gedacht, dass dieses averaging iwie nicht so optimal sein kann. danke schon mal!
Andre R. schrieb: > Sampling Rate von 62.500 Hz (31.250 Hz pro Kanal) abtasten Der ADC ist bei 10bit Auflösung für maximal 200khz/13 = 15khz spezifiziert. Oliver
Oliver S. schrieb: > Der ADC ist dafür gemacht, und so steht’s auch im Datenblatt, daß er > nach jeder Wandlung auf einen anderen Kanal umschalten kann. Solange > deine Quelle ausreichend niederimpendant ist, geht das ohne > dummy-Wandlung. Da muss ich nochmal nachfrage: niederimpedant heißt, nen geringen innenwiderstand zu haben oder? Oliver S. schrieb: > Andre R. schrieb: >> Sampling Rate von 62.500 Hz (31.250 Hz pro Kanal) abtasten > > Der ADC ist bei 10bit Auflösung für maximal 200khz/13 = 15khz > spezifiziert. > > Oliver Meinst du das deswegen die einhüllende mit so einer morphologie zustande kommt? Das zeitliche Timing stimmt ja, der kleine µC schaffts ja von der rechenleistung her anscheinend. oder meinst du, das bei dieser geschwindigkeit quatsch vom adc raus kommt? aber warum dann nur bei periodischen signalen? ich glaubs iwie nicht weil sonst würde er alles falsch machen und die tatsache, dass es nur bei periodischen signalen so ist, macht mich iwie stutzig und führt mich eher zu falscher mittelungstechnik wie der falter meinte oder ne ungünstige programmierung oder sowas. oder kannst du deine antwort noch iwie n bisschen detailierter erläutern? grüße
:
Bearbeitet durch User
Zitronen F. schrieb: > Die Diagraemmchen zeigen Sampling interferenzen. Eine Frage des > Reinzoomens in das Oszilloskop. Eine Frage der anzahl Punkte. Allenfalls > kannst du von 1k auf 10k, oder 100k Punkte pro scan setzen. das is keine Aufnahme von einem oszi, das is mit dem arduino aufgenommen, allerdings nur mit einem kanal. werde nochmal den anderen dazu zeigen, der ist leicht phasenverschoben! das ganzte wurde mit einem labview pogramm aufgezeichnet und dann mit matlab die fft und den plot.
Andre R. schrieb: > dachte ich anfangs auch aber das ist es nicht. Doch, genau das ist es. Schau dir den Zoom deiner 25Hz Messung genau an. Du hast ein 25Hz-Signal und tastest es mit 100Hz ab. Wenn beide Frequenzen exakt und stabil wären, dann würdest du das Signal immer an den selben 4 Phasenlagen abgetastet sehen. Aber entweder die Frequenzen haben nicht exakt ein Verhältnis von 4. Oder eine der Frequenzen ist nicht beliebig stabil. Dann "schiebt" die Phasenlage der Abtastpunkte während der Messung durch. Mal triffst du die Kurve genau in den Extremwerten und im Nulldurchgang (in deinem 25zoom.png am linken und am rechten Rand, in meiner Simu in Extrema.png). Und ein Weilchen später triffst du den 25Hz Sinus halt grade links und rechts von den Extremwerten, so dass es nach einer kleineren Amplitude aussieht (in deinem 25zoom.png in der Mitte, in meiner Simu in symmetrisch.png). Genau so müssen die Abtastpunkte aussehen, wenn du sie einfach mit Geradenstücken verbindest. Deswegen lässt sich die FFT in deiner Auswertung auch nicht irritieren sondern zeigt sauber eine Linie an (pluss ein bisschen drumrum, weil du wahrscheinlich bei der FFT an der Fensterfunktion gespart hast ;-)
Andre R. schrieb: > Das zeitliche Timing stimmt ja, der kleine µC schaffts ja von der > rechenleistung her anscheinend. oder meinst du, das bei dieser > geschwindigkeit quatsch vom adc raus kommt? Eine ADC-Wandling dauert immer 13 Takte (nach der allerersten), das Ergebnis wir allerdings jenseits der maximal spezifizierten Frequenz immer ungenauer. Wie viele Bits du bei mehr als dem vierfachen der Maximalfrequenz noch sinnvoll nutzen kannst, musst du halt mal austesten. Viele werden es nicht mehr sein. Das zusammen mit dem von Achim gezeigten Zusammenhang wird dein Problem sein. Niederimendant meint, daß deine Quelle ausreichend Strom liefern muß. Im Sample-and-Hold- ADC sitzt ein Kondensator, der andauern umgeladen wird. Näheres dazu siehe Datenblatt. Oliver
:
Bearbeitet durch User
Achim S. schrieb: > Doch, genau das ist es. Schau dir den Zoom deiner 25Hz Messung genau an. > > Du hast ein 25Hz-Signal und tastest es mit 100Hz ab. Wenn beide > Frequenzen exakt und stabil wären, dann würdest du das Signal immer an > den selben 4 Phasenlagen abgetastet sehen. > > Aber entweder die Frequenzen haben nicht exakt ein Verhältnis von 4. > Oder eine der Frequenzen ist nicht beliebig stabil. Dann "schiebt" die > Phasenlage der Abtastpunkte während der Messung durch. > > Mal triffst du die Kurve genau in den Extremwerten und im Nulldurchgang > (in deinem 25zoom.png am linken und am rechten Rand, in meiner Simu in > Extrema.png). > > Und ein Weilchen später triffst du den 25Hz Sinus halt grade links und > rechts von den Extremwerten, so dass es nach einer kleineren Amplitude > aussieht (in deinem 25zoom.png in der Mitte, in meiner Simu in > symmetrisch.png). das klingt für mich sehr logisch! die abtastfrequenz variiert quasi, ist unstabil, aber das heißt auch, dass sie so zu sagen stabil unstabil ist, weil diese oberwele ja immer und immer wieder kommt. also der phasenverzug. abhilfe würde jetzt eine verlangsamung der abtastfrequenz und somit hoffentlich mehr stabilität bringen? oder hast du noch ne andere idee? werde auf jeden fall auch mal andere movin avergaes ausprobieren, vllt welche die weniger rechenleistung verbrauchne um so mehr stabilität rein zu bekommen. Achim S. schrieb: > Genau so müssen die Abtastpunkte aussehen, wenn du sie einfach mit > Geradenstücken verbindest. Deswegen lässt sich die FFT in deiner > Auswertung auch nicht irritieren sondern zeigt sauber eine Linie an > (pluss ein bisschen drumrum, weil du wahrscheinlich bei der FFT an der > Fensterfunktion gespart hast ;-) da hast du recht leider recht. ist nur die fft function von matlab (ich fühle mich ertappt) Oliver S. schrieb: > Eine ADC-Wandling dauert immer 13 Takte (nach der allerersten), das > Ergebnis wir allerdings jenseits der maximal spezifizierten Frequenz > immer ungenauer. Ich glaube sogar es sind laut datenblatt 13.5 :P
Andre R. schrieb: > Ich glaube sogar es sind laut datenblatt 13.5 :P Glauben ist nicht wissen... Also schau doch nochmal nach. Oliver
Stimmt ;) Da hatte ich überlesen, daß der TO Autotrigger verwendet. Oliver
Andre R. schrieb: > die abtastfrequenz variiert quasi, ist > unstabil, aber das heißt auch, dass sie so zu sagen stabil unstabil ist, Das muss nicht mal sein. Es reicht auch aus, wenn die 25Hz des Signals und die 100Hz des der Abtastung nicht die identische Zeitbasis haben. Dann können die Abweichungen der beiden Frequenzen von ihrem Nomnalwert beliebig klein sein: im Lauf der zeit verschiebt sich trotzdem die Phasenlage der Abtastpunkte relativ zum gemessenen Signal. In meiner Simu oben waren z.B. die Zeitbasen zwar identisch, aber um den Effekt sichtbar zu machen haben ich nicht exakt einen Faktor 4 zwischen beiden Frequenzen gewählt sondern 4,002. Andre R. schrieb: > abhilfe würde jetzt eine verlangsamung der abtastfrequenz > und somit hoffentlich mehr stabilität bringen? Was für eine Abhilfe erwartest du? Deine Abtastung ist ja wahrscheinlich genau richtig, dich stört nur das unerwartete Aussehen, oder? Das hat nur mit deiner Erwartungshaltung zu tun ;-) Wenn du aus den abgetasteten Werten wieder genau einen (kontinuierlichen) Sinus rekonstruieren willst, dann musst du die Abtastwerte durch ein Rekonstruktionsfilter schicken, das die Abtastwerte entsprechend interpoliert. Oder mehr Abtastpunkte pro Signalperiode - dann ist auch das Aussehen der Messpunkte so, wie du es erwartest.
Achim S. schrieb: > Das muss nicht mal sein. Es reicht auch aus, wenn die 25Hz des Signals > und die 100Hz des der Abtastung nicht die identische Zeitbasis haben. > > Dann können die Abweichungen der beiden Frequenzen von ihrem Nomnalwert > beliebig klein sein: im Lauf der zeit verschiebt sich trotzdem die > Phasenlage der Abtastpunkte relativ zum gemessenen Signal. Also meinst du, dass bspw. der signalgenerator ne zeitbasis mit so und so vielen punkten hat und die zeitbasis von meinem messsystem eine andere und sich punkte von der einen zwischen zwei punkten der anderen befindet und da die ja unterschiedlich "genau" sind, pflanzt sich dann diese verschiebung fort...so oder so ähnlich stell ichs mir gerade vor. aber da ich im endeffekt biosignale messen will, dessen zeitbasis in keinem digitalem system übertragbar ist und da höchst wahrscheinlich keine streng periodischen signale vorkommen sollte dieser effekt nicht weiter stören. hätte halt gerne so das system charakterisiert, aber dann muss ich mir wohl was anderes überlegen. ich versuche mal nen biosignal nachzubauen und schleuder das mal mit ner bestimmten frequenz drauf, mal schauen was passiert. Achim S. schrieb: > Was für eine Abhilfe erwartest du? Deine Abtastung ist ja wahrscheinlich > genau richtig, dich stört nur das unerwartete Aussehen, oder? Das hat > nur mit deiner Erwartungshaltung zu tun ;-) Ja, ich erwarte von dem system, dass es einen amplitudenstabilen sinus aufzeichnen kann und zwar bis zur nyquist frequenz.
Andre R. schrieb: > Ja, ich erwarte von dem system, dass es einen amplitudenstabilen sinus > aufzeichnen kann und zwar bis zur nyquist frequenz. Die Erwartungshaltung ist falsch. Das Nyquist-Kriterium sagt, dass es oberhalb der Nyquist-Frequenz gar nicht mehr gehen kann, wegen Aliasing. Es sagt nicht dass es (knapp) unterhalb der Nyquist-Frequenz super funktioniert :-) Deshalb hält man in der Praxis auch einen durchaus hohen "Respektabstand" zum Nyquist ein.
:
Bearbeitet durch User
Andre R. schrieb: > Ja, ich erwarte von dem system, dass es einen amplitudenstabilen sinus > aufzeichnen kann und zwar bis zur nyquist frequenz. Das macht dein System jetzt schon. Schau dir die Höhe deiner Linie in der FFT an - wenn du das richtig Fenster für die FFT wählst, dann zeigt dir die Höhe dieser Linie korrekt die Amplitude (bzw. den Effektivwert) dieser Linie an. Das Messsystem macht also jetzt schon korrekt, was es soll. Was falsch läuft ist deine Erwartungshaltung. Du glaubst, dass du mit den Abtastpunkte garantiert immer die Extrempunkte der Zeitfunktion triffst und direkt an einem der Abtastpunkte die Amplitude ablesen kannst. Das ist natürlich nicht der Fall. Und das wird es auch nie sein, wenn das Signal bis nahe an die Nyquistfrequenz gehen soll. Dann musst du enweder das Signal wieder korrekt rekonstruieren (also nicht einfach nur den größten Messpunkt betrachten). Oder den Effektivwert deiner Messpunkte bestimmen (dann geben die zwei "halbhohen" Abtastpunkte den selben Beitrag wie einer im Maximum und ein zweiter im Nulldurchgang). Oder per FFT und Linienhöhe den Effektwert bestimmen.
Ach ja, noch was: Was hat es mit dem ominösen "310 Werte mitteln" auf sich? u.U. kann man das mit einem Dezimationsfilter auch viel besser lösen (kommt aber auf die konkrete Anwendung an) und du hättest den Vorteil Anti-Aliasing zum teil digital machen zu können.
Michael R. schrieb: > Ach ja, noch was: Was hat es mit dem ominösen "310 Werte mitteln" > auf > sich? u.U. kann man das mit einem Dezimationsfilter auch viel besser > lösen (kommt aber auf die konkrete Anwendung an) und du hättest den > Vorteil Anti-Aliasing zum teil digital machen zu können. die 310 kommen aus folgender rechnung: der atmega hat ne taktrate von 16.000.000Hz. Der timer1 läuft mit nem prescaler von 8, somit wird aus der timer1 frequenz 2.000.000Hz. Mein OCR1A ist mit 31 defniert, heißt der zählt 32 takte und schmeisst dann den interrupt. man rechnet also 1/2.000.000 Hz = 0,0000005s, also jede 5µs ein takt, mal die 32 sind 0,000016s und 1/0,000016s sind 62.500Hz. Der timer1 schmeisst also interrupts mit 62,5kHz. Da ich im Endeffekt 100Hz haben möchte und zwei Kanäle habe, teile ich die 62,5kHz durch 2, sind 31,25kHz und diese durch 100 sind 312,5. Da ich ein paar rechnungen in der ISR vom ADC habe, bremsen die ein wenig, weswegen ich durch probieren auf einen Wert von 310 gekommen bin.
Michael R. schrieb: > Die Erwartungshaltung ist falsch. Das Nyquist-Kriterium sagt, dass es > oberhalb der Nyquist-Frequenz gar nicht mehr gehen kann, wegen Aliasing. > Es sagt nicht dass es (knapp) unterhalb der Nyquist-Frequenz super > funktioniert :-) > > Deshalb hält man in der Praxis auch einen durchaus hohen > "Respektabstand" zum Nyquist ein. Das stimmt wohl, eigentlich sagt man ja plus 10-20% mehr, will ich 100Hz signale erfassen, taste ich mit 250Hz ab...das stimmt wohl. Erklärt dann aber meines Erachtens nach nicht, warum das Problem bei 25Hz zeigt. Aber ja glaube eine Mischung aus allen Kommentaren, vor allem von Achim, ist der Ursprung für dieses "Problem".
Andre R. schrieb: > die 310 kommen aus folgender rechnung: [...] Geht das nicht auch einfacher? Es gäbe noch timer 0 und 2, oder du erzeugst dir einen passenden timer per Software. Andererseits, Oversampling stört nicht, aber dann würde ich wie gesagt nicht einfach mitteln (auch nicht per gleitendem Mittelwert) sondern ein Dezimationsfilter bauen. Aber ich habe deine Anwendung auch noch nicht ganz verstanden: irgendwas mit biologischen Signalen... wie sehen deine Anforderungen an Frequenzen/Bandbreiten aus? Störungen? Rauschen? Anti-Aliasing ist kein ganz einfaches thema...
Andre R. schrieb: > Da ich im Endeffekt > 100Hz haben möchte Dann mach halt stattdessen 1kHz Abtastrate. Dann siehst du das Maximum eines 25Hz Signals(und die Kurve wird halt etwas rauschiger). Andre R. schrieb: > Erklärt dann aber meines Erachtens nach nicht, warum das Problem bei > 25Hz zeigt. Es zeigt sich kein Problem bei 25Hz. Die Messung der 25Hz ist genau so, wie sie sein muss. Nur deine Erwartung, wie die Messung der 25Hz aussehen sollte, ist falsch. Du beziehst dich an das Nyquist-Kriterium. Aber das Nyquistkriterium sagt nicht, dass bei 25Hz, die mit 100 Samples/s abgetastet werden, immer die Extrempunkte getroffen werden.
Michael R. schrieb: > Andererseits, Oversampling stört nicht, aber dann würde ich wie gesagt > nicht einfach mitteln (auch nicht per gleitendem Mittelwert) sondern ein > Dezimationsfilter bauen. ja das ist hartes oversampling. hab zwar noch nicht so richtig verstanden wie man das rechnet, aber netto habe ich mir doch jetzt durch das oversampling aus dem 10bit ADC nen 10bit+X ADC gemacht, oder? dezimationsfilter zieh ich mir gleich mal rein, was es damit auf sich hat. Und zu deiner frage was die anwendung betrifft: kann leider nicht all zu viel darüber verlieren...sagen wir so: ich bin medizintechniker der noch eine menge erfahrungen sammeln muss und ich möchte mit einem kompaktem und mobilen aufbau verschiedene drücke messen, anzeigen und auch wegspeichern lassen. arduino nano war dabei für mich optimal wegen geringer stromverbrauch, eingebauter adc, super günstige anschaffung und meinem kleinen erfahrungsschatz mit arduino. zu den anforderungen kann ich leider auch noch nicht viel sagen, da ich den prototyp erstmal testen muss. der abzudeckene frequenzbereich liegt bei 0..15Hz wobei es immer besser kommt wenn man schreiben kann, dass das teil mit 100Hz läuft, wobei es 50Hz wahrscheinlich auch tun würde. ;) störungen oder eher die glättung der störung darf nicht zu groß sein, da man eventuell effekte verpasst auf die man eigentlich scharf ist, wenn man die drucksensoren positioniert. mit dem rauschen bin ich eigentlich zufrieden. hab mal ne 10Hz frequenz drauf gegeben und versucht SNR auszurechnen. bin auf rund 40dB gekommen.
Achim S. schrieb: > Nur deine Erwartung, wie die Messung der 25Hz aussehen sollte, ist > falsch. Du beziehst dich an das Nyquist-Kriterium. Aber das > Nyquistkriterium sagt nicht, dass bei 25Hz, die mit 100 Samples/s > abgetastet werden, immer die Extrempunkte getroffen werden. Das habe ich jetzt hoffentlich verinnerlicht!
Andre R. schrieb: > netto habe ich mir doch jetzt durch > das oversampling aus dem 10bit ADC nen 10bit+X ADC gemacht, oder? Tja... da ist immer viel Wunschdenken dabei. Es kommt u.a. darauf an, ob du quasi-stationäre Größen erfassen willst, da funktioniert das einigermaßen, bei dynamischen Größen eher schlecht. > Das stimmt wohl, eigentlich sagt man ja plus 10-20% mehr, will ich 100Hz > signale erfassen, taste ich mit 250Hz ab...das stimmt wohl. Das ist schon ziemlich knapp. hast du dir schon Gedanken über das (analoge) Anti-Aliasing-Filter gemacht? Du willst (bis zu) 100Hz erfassen, mit 250 Hz. Abtastfrequenz. d.h. alles über 125 Hz bringt dir Aliasing, das du, wenn einmal drinnen, nie mehr wegkriegst (da nicht unterscheidbar). Bei 10 bit Auflösung brauchst du also x dB Dämpfung (sorry zu faul zum rechnen) und das zwischen 100Hz (Nutzsignal) und 125 Hz (Nyquist). Das ist in jedem Fall sportlich. Mit welchen Störsignalen über 100Hz rechnest du?
:
Bearbeitet durch User
Michael R. schrieb: > Andre R. schrieb: >> netto habe ich mir doch jetzt durch >> das oversampling aus dem 10bit ADC nen 10bit+X ADC gemacht, oder? > > Tja... da ist immer viel Wunschdenken dabei. Es kommt u.a. darauf an, ob > du quasi-stationäre Größen erfassen willst, da funktioniert das > einigermaßen, bei dynamischen Größen eher schlecht. > >> Das stimmt wohl, eigentlich sagt man ja plus 10-20% mehr, will ich 100Hz >> signale erfassen, taste ich mit 250Hz ab...das stimmt wohl. > > Das ist schon ziemlich knapp. > > hast du dir schon Gedanken über das (analoge) Anti-Aliasing-Filter > gemacht? > > Du willst (bis zu) 100Hz erfassen, mit 250 Hz. Abtastfrequenz. d.h. > alles über 125 Hz bringt dir Aliasing, das du, wenn einmal drinnen, nie > mehr wegkriegst (da nicht unterscheidbar). Bei 10 bit Auflösung brauchst > du also x dB Dämpfung (sorry zu faul zum rechnen) und das zwischen 100Hz > (Nutzsignal) und 125 Hz (Nyquist). Das ist in jedem Fall sportlich. > > Mit welchen Störsignalen über 100Hz rechnest du? das mit den 250Hz und den 100Hz war ausgedacht für das Abtastbeispiel. Ich will ja mit 100Hz abtasten, bzw transmittieren. Ich erwarte wie gesagt Signale von 0..13Hz, da sind 100Hz glaub ich gut angesetzt. Ob Biosignale wie z.b. ein EKG quasi-stationär ist oder nicht, dafür würde ich nicht meine Hand für ins Feuer legen. Bei gesunden Lebewesen sicherlich ein Stück weit aber die Praxis sieht anders aus. Eigentlich rechne ich mit wenig "schnellen" Störsignalen. Der Grund warum ich bis zu 13Hz erfassen, rührt daher, dass nicht ausschließlich menschliche Größen gemessen werden sollen und man weiß ja nie was man bei Messungen so einfängt, wo vllt noch niemand weiß, dass es das überhaupt gibt ;) naja whatever. Zum Thema analoges AA-Filter hatte ich in einem anderen Projekt schon mal gesehen, dass dafür n Tiefpassfilter zweiter Ordnung aufgebaut wurde, aber das hat noch mehr Probleme gemacht, als alles andere. Dachte mir wie gesagt ich taste dafür "einfach" ordentlich über.
Andre R. schrieb: > Ob Biosignale wie z.b. ein EKG quasi-stationär ist oder nicht Also wenn mein EKG mal quasi-stationär ist, schreib ich vermutlich nichts mehr in dieses Forum ;-) > Zum Thema analoges AA-Filter hatte ich in einem anderen Projekt schon > mal gesehen, dass dafür n Tiefpassfilter zweiter Ordnung aufgebaut > wurde, aber das hat noch mehr Probleme gemacht, als alles andere. Dachte > mir wie gesagt ich taste dafür "einfach" ordentlich über. Autsch. Du solltest dich mit der Materie nochmal intensiver beschäftigen.
Michael R. schrieb: > Autsch. Du solltest dich mit der Materie nochmal intensiver > beschäftigen. Wieso meinst du Autsch? Hab ich jetzt direkt daneben gegriffen oder wie? Oder meinst du n digitales AA-Filter?
:
Bearbeitet durch User
Andre R. schrieb: > Autsch Oversampling löst das Aliasing-Problem nicht, du verschiebst es nur in andere Bereiche (bzw. bewusst ins digitale). AntiAliasing musst du trotzdem machen (analog und vielleicht digital), sofern du nicht von vorneherein ausschließen kannst, dass du Frequenzen oberhalb der halben Abtastfrequenz einfängst. Wenn ein analoger TP als AA-Filter Probleme macht (welche denn?) dann wurde er vermutlich falsch ausgelegt.
:
Bearbeitet durch User
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.