17.09.2009, 14:39
(Dieser Beitrag wurde zuletzt bearbeitet: 17.09.2009 14:48 von dimitri84.)
|
|
|
17.09.2009, 18:26
|
BeFu
LVF-Gelegenheitsschreiber
Beiträge: 84
Registriert seit: Jun 2006
2011
2006
DE_EN
96450
Deutschland
|
Medianfrequenz aus einem FFT Spektrum berechnen
Hallo Dimitri,
um die Datenmengen handeln zu können, tasten wir EMG-Signale (32 Kanäle) mit 2kHz bzw. 4kHz ab, entsprechend den Ausführungen von Lucki. Normalerweise erfassen wir bei einer Abtastrate von 2kHz alle Frequenzanteile der EMG-Signale. Deren Frequenzanteile nehmen ab ca. 250 Hz stark ab, so dass bei einem 500Hz Tiefpass 1. Ordnung kaum mehr relevante Frequenzanteile zum A/D-Wandler kommen.
Bei http://www.dsptutor.freeuk.com/aliasing/AD102.html kannst Du Dir die Auswirkung des Aliasing-Effekts bei Unterabtastung anschauen. Bei Rücktransformation in den Zeitbereich werden einem (an Stelle der nicht erfassbaren viel zu hohen Frequenzen) ein hoher Anteil an niedrigen Signalfrequenzen vorgegaukelt.
Als Offset bezeichnet man den Gleichanteil mit f= 0Hz in einem Signal.
Die in Deinem Frequnzspekrum sichtbaren hohen Anteile von Frequenzen <= 10Hz deuten - neben dem tatsächlichen Offset bei f= 0Hz - eher auf ein Grundrauschen Deiner EMG-DIFFERENZ-Verstärker bzw. Artefakte durch apruptes Bewegen der Leitungen zu und von den EMG-Verstärkern hin. Lege zur Probe einfach mal einen einfachen RC-Hochpass 1. Ordnung (Grenzfrequenz 19Hz, z.B. C=10nF und R= 820kOhm) vor den A/D-Wandler, mit dem Du das vom EMG-Verstärker gelieferten Signal sampelst. Damit sollten die hohen Frequenzanteile <= 10Hz im Frequenzspektrum weitgehend verschwunden sein, und in Deinen EMG-DIFFERENZ-Verstärkern ist keine Bandpass (10Hz bis 500Hz), sondern nur ein Tiefpass (500Hz) eingebaut.
Wie gesagt haben die von uns eingesetzten EMG-Verstärker einen Bandpass (10Hz bis 500Hz), so dass wir allenfalls damit gedämpfte - durch Kabelartefakte hervorgerufene - niedere Frequenzanteile <= 10Hz im Frequenzspektrum des jeweiligen, gesampelten EMG-Signals haben.
Viel Erfolg,
BeFu
|
|
|
17.09.2009, 19:02
|
ImExPorty
LVF-Freak
Beiträge: 572
Registriert seit: Jan 2008
8.6
2001
kA
65934
Deutschland
|
Medianfrequenz aus einem FFT Spektrum berechnen
Hallo Messtechniker und Angehende...,
eigentlich wollte ich mich Bemerkungen zu den allgemeinen Themen zurückhalten, da es hier immer auf die Sichtweise ankommt und meist in politischer Diskussion endet...und wenn ich nicht nach Stunden bezahlt werde, auch bei Kunden solche Gespräche austrocknen lasse.
Aber mal als Idee: wenn man eine Messkette aufgebaut hat, ist der erste Job eine qualitative Kontrolle selbiger => Kalibrierung des gesamten Aufbaus am besten mit Bestimmung des frequenzabhängigen Verhaltens => dynamische Kalibierung; aus der als Minimum ein Bodediagramm herausfällt.
Erst jetzt sollten Entscheidungen für zusätzlich notwendige bandbegrenzende analoge Filter und nachfolgend zum Einsatz kommende digitale Manipulationen (bitte mathematisch physikalisch begründet) der Daten getroffen werden.
Wer mißt, mißt Mist! (In den Seminaren wird an dieser Stelle immer große Zustimmung kundgetan, wenn selbiges jedoch nachfolgend genauer untersucht wird, dann werden viele sehr schnell sehr nachdenklich)
Die Zielsetzung sollte sein, die Größenordnung des Mistes zu kennen. Da sind wir im Normalfall allen anderen Berufsgruppen überlegen, da diese meist keine Ahnung über den Unsinn haben den Sie verzapfen. Aber da heutzutage immer alles schöngeredet wird, werden Mechanismen zur tatsächlichen qualitativen Erfassung von Information kaum mehr angewendet.
Jetzt ist es ja doch wieder politisch geworden, und somit.......
alles nur als Anregung zu verstehen
1 Postingempfehlungen, 2 Motivation
Fragen und Anpassungswünsche per PM werden, gegen Rechnungsstellung gerne beantwortet und realisiert ....wenn's dann doch kostenlos sein soll... bitte hier im LVF unter Berücksichtigung der voranstehenden Links posten.
|
|
|
18.09.2009, 08:05
|
|
|
18.09.2009, 08:50
(Dieser Beitrag wurde zuletzt bearbeitet: 18.09.2009 10:50 von Lucki.)
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
Medianfrequenz aus einem FFT Spektrum berechnen
' schrieb:Damals (4. Semester) haben wir gelernt Anti-Aliasing erzeugt Anteile im hohen Frequenzbereich und nicht im niedrigen Bereich.
Das ist so nicht ganz richtig. Es müßte heißen: Anteile im hohen Freqenzbereich (die über der Nyquist-Frequenz liegen) werden in den niederen Frequenzbereich hineingespiegelt. D.H die hohen Frequenzanteile verursachen die Störungen, die sich als niedere, in Wirklichkeit gar nicht vorhandene Frequenzen äußern.
Das ändert aber gar nichts daran, daß Du hiermit voll recht hast:
Zitat:Könnte das nicht der offset sein, der da zu erkennen ist? (Nur Kanal1, "weiß" ist angeschlossen)
Natülich ist es der Offset, denn so riesengoß könnten die Aliasing-Effekte niemals sein, und man sieht es ja auch am Zeitverlauf. Das Problem mit dem Offest ist dies: Es ist eigentlich nur die f0-Komponente, und die könnte man leicht aus dem Fourierspektrum entfernen. Jetzt aber wird hier gefenstert, d.h die Bewertung des Zeitverlaufs erfolgt mit nach den Ränderen abnehmender Gewichtung, damit Phasensprünge am Ende das Verlaufs gegenüber dem Anfang nicht zusätzliche falsche Spektralanteile erzeugen.
Das Fenstern bewirkt aber leider auch, daß aus dem Geichanteil eine krumme Kurve mit eigenem Frequenzspekrum im Bereich ganz tiefer Frequenzen wird. Deshalb hast Du dort mehr als eine Spekrallinie mit sehr großer Amplitude.
Deshalb: Bei Fensterung muß der Offsetanteil vorher aus den Daten entfernt werden.
Habs mal gemacht, hier die VIs:
mf_sub.vi (Größe: 43,71 KB / Downloads: 215)
mf_WA.vi (Größe: 213,73 KB / Downloads: 231)
Übrigens: Die lvm- Daten, die Du gepostet hattest, enthalten hauptsächlich nur breitbandiges Rauschen, bei denen es wenig sinnvoll erscheint, eine Mittenfrequenz zu berechnen. Die geposteten Daten aus #11 sind aber ganz anders, da macht es Sinn.
Woher kommt denn dieser Unterschied?
|
|
|
18.09.2009, 09:26
|
|
|
18.09.2009, 10:52
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
Medianfrequenz aus einem FFT Spektrum berechnen
Habe #15 editiert und die VIs gegenlv82getauscht
|
|
|
21.09.2009, 10:07
(Dieser Beitrag wurde zuletzt bearbeitet: 21.09.2009 10:09 von dimitri84.)
|
dimitri84
Astronaut
Beiträge: 1.496
Registriert seit: Aug 2009
2020 Developer Suite
2009
DE_EN
53562
Deutschland
|
Medianfrequenz aus einem FFT Spektrum berechnen
Einen wunderschönen Montagmorgen ...
1) @Lucki
In deiner mf_sub.vi verwendest du die "Aus Array entfernen.vi" anstatt "Max. & Min. von Array.vi" ... wieso funktioniert das? Wieso ist das besser als Max. & Min.?
Und wie hast du die vier "Thermometer-Anzeigeelemente" zu einem zusammengefasst?
2) Jetzt hat mich der Ergeiz gepackt und ich wollte wenigstens mal das Filtern ohne Express VI realisieren. (Danach versuch die restlichen zu ersetzen). Aus einem anderen thread (#8) weiß ich, dass bei n Kanälen das ganze auch n-mal parallel im Blockdiagramm angeordnet werden muss. Deswegen erstmal nur ein Kanal filtern. Das Ergebnis ist sehr selsam ... die Anzeige des Spektrums zeigt nur was im Bereich 0...0.5. Irgendwas mach ich da wohl falsch.
butterworth_single.vi (Größe: 126,72 KB / Downloads: 210)
EMG_daten2.zip (Größe: 483,07 KB / Downloads: 178)
3) offtopic ... wollte aber keinen neue thread aufmachen:
Mein Programm soll 3 Reiter haben:
1. Einstellungen (channel name, device, sampling rate/size usw...)
2. Record (Darstellung des Rohsignals während der Aufnahme ... mit record button)
3. Player (Darstellung der aufgenommenen Messungen, entweder lvm-Dateien abspielen ... oder den tdms-DateiViewer benutzen)
Ich denke das ist nicht zu komplex für sonen Anfänger wie mich.
Wie verpacke ich das am besten? Stichwort: State Machine ... Eventstruktur ...
Beste Grüße
„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
|
|
|
21.09.2009, 10:37
(Dieser Beitrag wurde zuletzt bearbeitet: 21.09.2009 10:42 von Lucki.)
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
Medianfrequenz aus einem FFT Spektrum berechnen
Bin in Zeitdruck, deshalb beantworte ich nur die an mich direkt gerichteten Fragen.
Zitat:In deiner mf_sub.vi verwendest du die "Aus Array entfernen.vi" anstatt "Max. & Min. von Array.vi" ... wieso funktioniert das? Wieso ist das besser als Max. & Min.?
Deine Methode funktioniert ja genau so, nur tut mir der arme Rechner leid, wenn er das Maximum finden soll, wo doch feststeht, daß es der letzte Wert des Arrays ist. Mit "Array indizieren" bekomme ich den letzten Wert nicht direkt, da müßte man erst die Größe des Array bestimmten (Oder besser: Den Array erst umkehren und dann Index 0 nehmen). Bei "Aus Array entfernen" ist es hingegen so, daß, wenn kein Index angeschlossen ist, automatisch der letzte Wert genommen wird. Und deshalb hatte ich mich dafür entschieden.
Zitat:Und wie hast du die vier "Thermometer-Anzeigeelemente" zu einem zusammengefasst?
Die befinden sich einfach in einem Cluster, den man aber auf dem FP nicht sieht (Sinn und Zweck des Ganzen ist Vereinfachung und weniger Draht im BD). Man sieht auf dem FP nur die Elemente. Als Cluster habe ich die klasische Ansicht verwendet und Cluster-Innenfläche und Rahmen auf Transparent gesetzt. Wenn Du mit der Maus in der Umgebung der Anzeigen herumklickst, siehts Du den Clusterrahmen als gestricheltes Rechteck und der Schwindel fliegt auf
|
|
|
| |