Azzera filtri
Azzera filtri

How can I write a filter code for my PPG signal to clear all noises on MATLAB?

27 visualizzazioni (ultimi 30 giorni)
Hi, I have my graphic like this. Firstly, I need to find peaks,but my signal is so noisy. How can I make my signal pure without any noise and holding orginal signals? Thank you.
  1 Commento
Wayne King
Wayne King il 21 Dic 2013
We need to know the sampling rate of your data before we can recommend a filter. What does that time axis represent?

Accedi per commentare.

Risposta accettata

Sunil Kumar Yadav
Sunil Kumar Yadav il 8 Apr 2014
I am amazed that no one answered your question. You should use filter.I have used butterworth filter .matlab Command is butter.After making butterworth filter of desired order use filtfilt command to apply your filter to data which you want to process.Here is the example of bandpass filter W1=0.5/60;% lovver cutoff W2=4/60;%higher cutoff
[b,a]=butter(2,[W1,W2]); % Bandpass digital filter design h = fvtool(b,a); % Visualize filter
low_pass_data1 = filtfilt(b,a,intensity_r); % applying filter to our data intensity_r
  2 Commenti
Sunil Kumar Yadav
Sunil Kumar Yadav il 16 Apr 2014
hey the cutoff frequencies should be w.r.t. half the sampling frequency.If Fs is sampling frequenvy then W1=(Low_Cuttoff)/(Fs/2);% lower cutoff frequency W2=(High_Cuttoff)/(Fs/2);% Higher cutoff frequency .Use [pks,locs] = findpeaks(data) ; to locate the peaks.
Richeek Dey
Richeek Dey il 16 Feb 2017
What is the value of low_cutoff and high_cutoff in the above solution? I'm also working on PPG and would appreciate it!

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by