Borrar filtros
Borrar filtros

Find peaks in data without using signal processing tool

116 visualizaciones (últimos 30 días)
Hello Guys,
I am working on a set of data, attached.
I am using MatlabR2021b, I don't have signal processing tool. Therefore can't use peak function.
I need to find:
  1. Total number of peaks in data
  2. What are the corresponding values of eack peak
Would appreciate if anyone can suggest a solution.
Please let me know if my question is not clear.
Thanks

Respuesta aceptada

Star Strider
Star Strider el 8 de Jul. de 2022
The findpeaks function is in the Signal Processing Toolbox, and since you do not have access to it, use the core MATLAB islocalmax function instead (introduced in R2017b) —
T1 = readtable('https://www.mathworks.com/matlabcentral/answers/uploaded_files/1059360/peaktest.xlsx', 'VariableNamingRule','preserve');
Time = T1.Time;
spike2 = T1.spike2;
Lv = islocalmax(spike2, 'MinProminence',1); % Choose The Name-Value Pair Arguments To Return The Peaks You Want
TotalNrOfPeaks = nnz(Lv)
TotalNrOfPeaks = 8
PeakTable = table(Time(Lv),spike2(Lv), 'VariableNames',{'Spike2Time','Spike2Amplitude'})
PeakTable = 8×2 table
Spike2Time Spike2Amplitude __________ _______________ 8 105 11 111 16 111 23 120 38 133 46 111 92 105 96 106
figure
plot(Time, spike2)
hold on
plot(Time(Lv), spike2(Lv), '^r')
hold off
grid
.

Más respuestas (1)

Sam Chak
Sam Chak el 8 de Jul. de 2022
If the data is not too large, you can test features of the findpeaks() function in this forum.
Else, you can find some peakfinder algorithms in FileExchange.
[data] = readtable('https://www.mathworks.com/matlabcentral/answers/uploaded_files/1059360/peaktest.xlsx');
plot(data.Time, data.spike2)
[pks, locs] = findpeaks(data.spike2)
pks = 8×1
105 111 111 120 133 111 105 106
locs = 8×1
8 11 16 23 38 46 92 96
num_of_pks = length(pks)
num_of_pks = 8
  1 comentario
Harsimran Singh
Harsimran Singh el 11 de Jul. de 2022
Thanks Sam, for sugesstion, Peak function/signal processing tool does not works for MatlabR2021b..

Iniciar sesión para comentar.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by