Verfasst am: 16.01.2012, 11:17
Titel: Rauschinhalte im EKG-Signal filtern, Aber wie?
Hallo,
ich arbeite derzeit an einem Projekt wo ich über ein USB-Modul EKG-Signale simuliere und in Matlab einlese. Mein Problem ist: Ich weiss nicht wie ich die Rauschinhalte in meinem Signal Filtern kann. Ich habe noch zusätzlich ein Tipp von meinem Professor bekommen. Ich soll Versuchen mit Tiefpass-Filtern zu arbeiten. Ich besitze leider nur die Grundkenntnisse in Matlab. Im Anhang hab ich ein Bild vom USB-Modul und das Snapshot vom EKG-Signal.Würde mich sehr freuen, wenn ich ein paar Ideen von euch bekommen könnte.
Das ist mein Programm:
Code:
AI=analoginput('mcc',0); %Erstellung eines Objektes AI mit der InstaCAL Nr.0
addchannel(AI,0:2); %Kanäle 0,1,2
k=10; %Frequenz 10 Hz
set(AI,'SampleRate',20*k); %Abtastrate und Trigger ggf. anpassen set(AI,'SamplesPerTrigger',20*k); %Buffersize spezifisch für das Modul
start(AI);
waittilstop(AI,5); %Wartezeit ggf. anpassen bis AI fertig ist
erg1=getdata(AI);
erg1=(erg1/20)-3.75; %Skalierung bzgl. Eingangsbereich % des AD-Wandlers auf MCC anpassen
N=length(erg1);
t=0:(1/(20*k)):(1-(1/(20*k)));
tt=t(1:100);
y=(erg1(:,1))'; %Auswahl der ersten Spalte
yy=y(1:100); %Auswahl e. begrenzten Anzahl v. Werten subplot(2,1,1),plot(tt,yy) grid on
xlabel('Zeit in sec') %Beschriftung der Grafik
ylabel('U(t) in V') title('Zeitreihe')
Fs=k*20; %Abtastfrequenz
order=4; FFTLength='NextPow2'; %Ordnung des AR-Prozesses ggf. anpassen
Hs=spectrum.mcov(order, FFTLength); %modifiziertes Spektrum - Kovarianz
subplot(2,1,2),psd(Hs,y,'Fs',Fs) %Erzeugung einer Grafik d. spektr. LD
Hierfür solltest du wissen, was eigentlich eine Fouriertransformation ist. Ein EKG Signal lässt sich als periodisches Signal und als Summe von harmonischen Signalen mit einer Frequenz von 0 bis, lass mich lügen, 500 Hz beschreiben. Rauschen ist meistens in höheren Frequenzen zu finden.
Was macht man also? Entweder du faltest dein Signal mit eienr Tiefpassfkt im Zeitbereich oder multiplizierst das Spektrum des EKG-Signals punktweise mit dem Spektrum eines Tiefpasses mit der spektralen Gleichung
fg ist die Grenzfrequenz.
Dafür musst du mit dem EKG Rohsignal eine FFT machen.
Was die macht/kann/tut solltest du nachschauen. Gibts genug hier.
Vielen Dank für die rasche Antwort. Kann ich das Signal nicht mit Simulink filtern. Im Anhang hab ich ein Beispiel. Ich weiss aber nicht, wie ich das Umsetzen soll.
Und wo genau ist jetzt dein Problem? Du kannst den Aufbau in Simulink umsetzen oder aber mit dem unteren Code das ganze in Matlab lösen. Fragt sich nur, ob die Tiefpässe auch deinen Ansprüchen genügen.
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
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.