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

11 views (last 30 days)
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 Comment
Wayne King
Wayne King on 21 Dec 2013
We need to know the sampling rate of your data before we can recommend a filter. What does that time axis represent?

Sign in to comment.

Accepted Answer

Sunil Kumar Yadav
Sunil Kumar Yadav on 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 Comments
Sunil Kumar Yadav
Sunil Kumar Yadav on 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 on 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!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!