How can I write a filter code for my PPG signal to clear all noises on MATLAB?
11 views (last 30 days)
Show older comments
Runo Insan
on 21 Dec 2013
Commented: Richeek Dey
on 16 Feb 2017
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
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?
Accepted Answer
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
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
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!
More Answers (0)
See Also
Categories
Find more on Measurements and Feature Extraction in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!