|
|
Weg"filtern" von niedrigen Amplituden im Signal |
|
Paco |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.04.2009, 04:09
Titel: Weg"filtern" von niedrigen Amplituden im Signal
|
|
|
|
|
Hallo,
für meine Dr-Arbeit im Bereich Psychophysiologie muss ich aus Atemfliessgeschwindigskeitsdaten (liter/sec) Volumina berechnen (Liter) durch Integration - das benötige ich nur jeweils für die Einatmung. Die Ausatmung kann ich einfach wegfiltern, weil diese negativ ist.
Zunächst müssen aber die Atemfliessgeschwindigskeitsdaten (liter/sec) so bearbeitet werden, dass der Suchalgorithmus jeweils Anfang und Ende einer Einatmung erkennt und die "Area under the Curve" berechnet=Integral, das dann dem jeweiligen Einatmenvolumen entspricht. Das Problem ist, dass beim Messen ungewünschte Artefakte entstehen, die ich gerne aus dem Signal löschen würde, damit der Algorithmus gut arbeiten kann, diese Artefakte sind in der beigefügten Grafik (siganl3.JPG) grün markiert. Die Kurvenform der "großen" Auslenkungen darf auf keinen Fall verändert werden, weil sonst beim Intergrieren falsche Werte herauskommen.
Frage: WIE NUR kann ich die grün unterlegten Bereiche einfach auf Null setzen, sozusagen quasi plattdrücken, eliminieren - ohne den Rest zu beeinflussen? Mir ist bisher kein sinnvoller Algorithmus dafür eingefallen und manuell kann man das Problem nicht lösen, möchte man nicht 300 Jahre daran sitzen, wie könnte man das automatisiert machen?
Für alle Anregungen bin ich sehr sehr dankbar!
Liebe Grüsse,
Daniel[/b]
Beschreibung: |
|
Download |
Dateiname: |
signal3.jpg |
Dateigröße: |
285.34 KB |
Heruntergeladen: |
1263 mal |
|
|
|
|
|
pebbles88 |
Forum-Anfänger
|
|
Beiträge: 21
|
|
|
|
Anmeldedatum: 04.03.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.04.2009, 07:47
Titel:
|
|
Hallo,
ich bin gerad nicht so in der Signalverarbeitung drin, aber schau dir doch mal die diskrete Foruertransformation an oder die inverse Fouriertransformation.
Gbt es in Matlab auch einen befehl.
Die wird häufig verwendet um das rauschen zu filtern.
Ist zwar nur ein Anfang, aber vllt kannst du damit schon weiterkommen.
Liebe grüße
|
|
|
Maddy |
Ehrenmitglied
|
|
Beiträge: 494
|
|
|
|
Anmeldedatum: 02.10.08
|
|
|
|
Wohnort: Greifswald
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.04.2009, 07:55
Titel:
|
|
Leider sind die Artefakte zum Teil so groß, wie die von dir gewünschten Einatemwerte. Vll kannst du eine Testreihe hochladen, so dass man sich am Filtern versuchen kann.
Meine Ansätze wären jetzt:
ein Histogramm, so dass man zumindest vll einen Schwellwert findet und alles darunter mittels
null setzen kann.
Dann vll einen Tiefpassfilter drauf setzen, so dass die resultierenden Spitzen der Artefakte verschwinden und man durch eine einfache Suche, die Bereiche findet die nicht null sind.
Sowas in der Art vll:
Wenn man die Bereiche (Indizes) im gefilterten Signal kennt, sollte man sie auch annähernd im ungefilterten Signal kennen.
_________________
>> why
The computer did it.
|
|
|
Paco |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.04.2009, 12:56
Titel: DATEN UPLOAD Nr. 1
|
|
Hallo,
hier die Daten als kommagetrennte *.TXT-Dateien (gezippt), zunächst die Airflow-Spirometer-Daten [Liter/sec], bei denen ich die Exspirationen(Ausatmungen) mit der einfachen Transformation (SQRT(SpiroDaten))^2 weggeschnitten habe, denn Ziel ist die Bestimmung nur der INspirationsvolumina [Liter] durch Integralbildung der Airflow-Spirometer-Daten:
spirodaten_nur_inspirationen.ZIP
Beschreibung: |
|
Download |
Dateiname: |
spirodaten_nur_inspirationen.zip |
Dateigröße: |
1.44 MB |
Heruntergeladen: |
1320 mal |
|
|
|
Paco |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.04.2009, 13:10
Titel: DATEN UPLOAD Nr. 2
|
|
.... und hier alle aufgenommenen Daten zusammen als kommagetrenntes *.TXT-File (gezippt).
Erste Spalte: unveränderte, rohe Airflow-Spirometer-Daten in [Liter/sec], d.h. mit Inspirationen UND Exspirationen
Zweite Spalte: Ausdehnungen des THORAX-Atemgürtels in [mV],
Dritte Spalte: Ausdehungen des ABDOMEN-Atemgürtels in [mV]
- die Atemgürteldaten helfen in den Spirodaten zu verstehen, was Artefakte sind und was nicht:
original_daten_spirometer_atemguertel.zip
Beschreibung: |
|
Download |
Dateiname: |
original_daten_spirometer_atemguertel.zip |
Dateigröße: |
9.55 MB |
Heruntergeladen: |
1817 mal |
|
|
|
Maddy |
Ehrenmitglied
|
|
Beiträge: 494
|
|
|
|
Anmeldedatum: 02.10.08
|
|
|
|
Wohnort: Greifswald
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.04.2009, 13:31
Titel:
|
|
Meine ersten Gedanken bei dem Blick auf die transformierten Daten:
Durch die Transformation hast du bereits einen starken Informationsverlust. Wäre es nicht vll besser, die großen Übergänge vom negativen ins positive in den Originaldaten durch Filterung hervorzuheben und zu bestimmen, als sich nun mit den Artefakten zu quälen?
ps: gerade kam der upload mit den original-daten, die schau ich mir gleich mal an
_________________
>> why
The computer did it.
|
|
|
Maddy |
Ehrenmitglied
|
|
Beiträge: 494
|
|
|
|
Anmeldedatum: 02.10.08
|
|
|
|
Wohnort: Greifswald
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.04.2009, 13:52
Titel:
|
|
Die Nulldurchgänge von Abdomen und Thorax scheinen ja die von dir gewünschten Übergänge relaitv deutlich zu beschreiben. Wie wäre es, wenn du dir eben diese Nulldurchgänge raussuchst und dann im Originalsignal vor den entsprechenden steigenden Nulldurchgängen (- --> +) den ersten relevanten Wert suchst. Dieser bildet dann den Anfangspunkt der Integration, den Endpunkt legst du fest in dem du schaust, wann wieder die Null erreicht wird.
_________________
>> why
The computer did it.
|
|
|
Paco |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.04.2009, 19:06
Titel: Spektralanalysen
|
|
Danke für die Antwort, es gibt nur leider ein Problem: wann jeweils die Einatmungen beginnen (X_I) und aufhören (X_J) muss UNBEDINGT nur aus den Spirodaten selbst bestimmt werden, weil es später um die Vorhersage der Volumina unter Weglassung spirometrischer Messungen geht - wenn aus den Atemgürteln Infos bei der Kalibrierung gewonnen werden, würde man tautologisch vorgehen, was bei Regressionen absolut nicht zulässig ist.
Ich habe mal die Daten nach *.WAV exportiert und sie mit einem Standartaudioprogramm ("CoolEdit") eingelesen und Spektralanalysen berechnet - man sieht dann, dass die "Problemzonen", in denen eigentlich alle Artefakte auftreten, in der Spektralansicht deutlich zu erkennen sind - ein Algorithmus könnte das ausnutzen und dort alles auf Null setzen - aber wie gnge das nur in MATLAB?
Vielen Dank für Eure Hilfe!
Beschreibung: |
|
Download |
Dateiname: |
artefakte_spiro.jpg |
Dateigröße: |
398.39 KB |
Heruntergeladen: |
1197 mal |
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|