LabVIEWForum.de - Medianfrequenz aus einem FFT Spektrum berechnen

LabVIEWForum.de

Normale Version: Medianfrequenz aus einem FFT Spektrum berechnen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Habe jetzt mal mit 4kHz und auch 8kHz Abtastrate aufgenommen aber diese großen Anteile zwischen 0..10 Hz sind immer noch da. Könnte das nicht der offset sein, der da zu erkennen ist? (Nur Kanal1, "weiß" ist angeschlossen)

Damals (4. Semester) haben wir gelernt Anti-Aliasing erzeugt Anteile im hohen Frequenzbereich und nicht im niedrigen Bereich. Anschaulich: die äußeren Ränder des periodisierten Spektrums überlappen sich.

[attachment=21318]
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
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.......Zensurmann

alles nur als Anregung zu verstehen
In 6 Semestern Medizintechnik lernt man von allem ein bisschen aber nichts richtig. Jetzt, im kalten Wasser angekommen, versuche ich mich mit meinen 2 Scheinen zur Signalverarbeitung, einem Schein "Mess-und Sensortechnik" und 4 Vorlesungen zu LabVIEW hier am Institut zu behaupten. Mechanismen zur tatsächlichen qualitativen Erfassung von Information konnten, wohl aus Zeitgründen, in diesem Bachelorstudiengang nicht im Detail eruiert werden. Ich gebe mein bestes um dies soweit es geht bis zum Beginn meines Masterstudiengangs nachzuholen. Umso dankbarer bin ich für die Ausführungen von Lucki und BeFu, die sich die Zeit nehmen um auch so triviale Zusammenhänge (mit denen ich bisher nur in der Theorie zu tun hatte) zu erklären.

Anregung zur Kenntnis genommen.
' 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:
Lv82_img[attachment=21334] [attachment=21335]

Ü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?
Vorab ... Das EMG-Gerät ist wie gesagt eine Einzelanfertigung, die vor etwa 8 Jahren (nach einem Lastenheft von diesem Institut) von der Firma BioMed Jena GmbH hergestellt worden ist. Bis heute ist der Einsatz dieses Geräts sehr "hausbacken". Auf dem notebook befinden sich ein Haufen alter Messungen, die ich wahllos benutze um mich mit der Signalverarbeitung vertraut zu machen. Was dort wirklich drauf ist kann ich nie genau wissen ... meistens aber eben kein EMG-Signal, sondern Rauschen überlagert mit Netzspannung ... überlagert mit dem Versuch einer offset Korrektur des Geräts ... überlagert mit einem Signal zur "kontinuierlichen" Impendanzmessung (was eine fragwürdige Funktion ist) usw... In den letzten Tagen habe ich selbst das Ding auch mal angeschmissen und wirklich EMG-Signale aufgenommen (eben Mist gemessen ^_^). Soviel zu dem Unterschied: #11 eigene Messung (Kanal1).

Was ich bisher rausgefunden habe ist, dass das analoge Signal, welches an der Datenerfassungskarte ankommt folgende Verarbeitungschritte passiert: 1) x100 verstärkt 2) 5Hz 2.Ord. Hochpass 3) 1kHz 5.Ord. Tiefpass

nicht gerade heutiger Standart für EMG-Geräte soweit ich weiß.


Die VI schaue ich mir daheim an ... hier hab ich nur 8.2. Danke für deine Mühe.
Habe #15 editiert und die VIs gegenlv82getauscht
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.

Lv82_img

[attachment=21366]

[attachment=21367]


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
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 Mellow
Diese Information, dass das letzte Element gelöscht wird (ohne index-Anschluss), habe ich vergeblich in der Hilfe gesucht ... gut zu wissen.
Seiten: 1 2 3
Referenz-URLs