InIn the attached code, all starts of the peak is getting detected. From this how to filter out dicrotic notch and valley?

2 次查看(过去 30 天)
LD = load('C:\Users\ANU\Desktop\TBME2013-PPGRR-Benchmark_R3\data\0009_8min.mat.mat')
% remove first trough:
ppg = LD.signal.pleth.y;
ppg(1:10) = [];
% indentify all peaks
[all_peak_value,all_peak_location]= findpeaks(ppg);
% identify all troughs in data
[all_trough_value,all_trough_location]= findpeaks(-ppg);
all_trough_value = -all_trough_value;
% identify main peak (i.e. ones lower than 5)
[main_trough_value,main_trough_location]= findpeaks(ppg,'MinPeakProminence',5);
counter = 0;
for i = 1:length(main_trough_location)
%c=[];
start=main_trough_location(i)-100;
ending=main_trough_location(i);
%c= (all_trough_location>start & all_trough_location<ending);
%c1=c(end);
[r,c] = find(all_trough_location>start & all_trough_location<ending);
end
figure
plot(ppg,'r')
hold on
plot(all_trough_location,all_trough_value,'ko')

回答(1 个)

Aditya Srikar
Aditya Srikar 2023-3-30
编辑:Aditya Srikar 2023-3-30
Hi Anupama,
You can use high pass filter to remove low frequency tones. Through this, you can filter out dicrotic notch and valleys.
A high-pass filter attenuates signals below a cutoff frequency (the stopband) and allows signals above the cutoff frequency (the passband). The amount of attenuation depends on the design of the filter.
For more details, look at the following documentation.
Hope it helps !

类别

Help CenterFile Exchange 中查找有关 Signal Generation and Preprocessing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by