Algorithm to identify certain peaks at certain loation is a graph
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Shruthimol
il 17 Ago 2022
Modificato: Kevin Holly
il 17 Ago 2022
I reconstructed the output of an Ultrasound NDT signal. Ive created a set of codes to compare a plots corresponding to a damaged specimen again a healthy specimen. But i am not able to come up with a solution to identify only the peaks below a certain y value and after a certain x value. The required x value corresponds to the value of findchangepts(y).
In the figure peaks.jpg, The region in blue rectangle is insignificant to my analysis and the region on interest is the green. the red rectangle signifies the backwall echo. I used diff(x) and diff(y) to comare the graph but it is not giving reliable results. i'm looking to analyse the data for a presence of back wall echo. Figure 03.jpg shows 2 plots for 2 healthy specimens.

Please suggest me some commands or tools to obtain the results.
Thanks in advance.
0 Commenti
Risposta accettata
Kevin Holly
il 17 Ago 2022
You can get the values and index of the peaks and apply the x and y thresholds as shown below:
plot (x,y,t,D);
[v,idx]=findpeaks(D,MinPeakProminence=0.5);
y_threshold = 10;
idx(v>10)=[];
v(v>10)=[];
x_threshold=500;
v(idx<500)=[];
idx(idx<500)=[];
hold on
scatter(x(idx),v,"r","filled")
2 Commenti
Kevin Holly
il 17 Ago 2022
Modificato: Kevin Holly
il 17 Ago 2022
plot (x,y,t,D);
[v,idx]=findpeaks(D,MinPeakProminence=0.5);
% Thresholds
xmin_threshold = 1600;
xmax_threshold = 2000;
% Remove below min threshold
v(idx<xmin_threshold)=[];
idx(idx<xmin_threshold)=[];
% Remove above max threshold
v(idx>xmax_threshold)=[];
idx(idx>xmax_threshold)=[];
hold on
scatter(x(idx),v,"r","filled")
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Animation in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!