How can I set a descend order finding peaks to my graph ?

4 visualizaciones (últimos 30 días)
Ramesh Bala
Ramesh Bala el 26 de Sept. de 2019
Comentada: Ramesh Bala el 1 de Oct. de 2019
I have a graph that takes the values from first maximum peak point and plots it.Now,how shall i introduce a threshold or descend order from that point,so that it find the next highest peak ?
load('signal')
load('t')
S(:,1)=[ 5 15 35 45 5 15 35 45];
S(:,2)=[ 5 15 15 5 45 35 35 45];
for k=1:1:length(S)
[a(k),b2(k)]=max(abs(hilbert(signal(k,:)))); % first peak amp & index
[PkAmp, PkTime] = findpeaks(abs(hilbert(signal(k,:))),t);
peaks(1,1)=a(k);
peaks(2,1)=t(b2(k));
j=2;
for i=1:length(PkTime)
if PkTime(i)>t(b2(k))
peaks(1,j)=PkAmp(i);
peaks(2,j)=PkTime(i);
j=j+1;
end
end
figure;
plot(t,(signal(k,:)),t,abs(hilbert(signal(k,:))),peaks(2,1),peaks(1,1),'ro')
hold on;grid on
plot(PkTime, PkAmp, '^r', 'MarkerFaceColor','r')
xlim([0 0.0006]);ylim([-inf inf])
hold on,plot(peaks(2,3),peaks(1,3),'ko')
end
  5 comentarios
Ramesh Bala
Ramesh Bala el 27 de Sept. de 2019
Thanks Darova for the comment.
It doesn't work as it didn't made any envelope over it.

Iniciar sesión para comentar.

Respuesta aceptada

Akira Agata
Akira Agata el 26 de Sept. de 2019
How about combining envelope and findpeaks functions?
The following is an example.
% Load data
load('signal.mat');
load('t.mat');
% Calculate envelope and detect it's peaks
ul = envelope(signal(1,:));
[pks,locs] = findpeaks(ul,t,'MinPeakProminence',0.5e-3);
% Show the result
figure
plot(t,signal(1,:))
hold on
plot(t,ul)
scatter(locs,pks,'rv')
legend({'Original data','Envelope','Peaks'},'FontSize',12)
envelope.png
  5 comentarios
Ramesh Bala
Ramesh Bala el 1 de Oct. de 2019
I would like to know how can I further choose different peak values and store them in a separate variable.
Currently pks0(pt) and locs0(pt) is stored as a variable in a linear way according to signal numbers.
But,is there a way using brush option or something to select single peak from a figure and store it as (1,1) and then another peak from another plot and store as (1,2)
eg1.PNG
eg2.PNG

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Spectral Measurements en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by