Time between excitation wave and received waves

If I have graph of voltage vs time for the excitation signal and the received signal for a material...how do I calculate the time it takes for the wave to move from one side of the material to the other side.. the blue signal is the excitation then the orange signal is the received one

2 Commenti

can you provide an image or data so we can see the excitation signal and the resulting signal?
LINDO MTSWENI
LINDO MTSWENI il 15 Giu 2021
Modificato: LINDO MTSWENI il 15 Giu 2021
attached is the figure ... thye blue signal is the excitation then the orange one is the received signal

Accedi per commentare.

 Risposta accettata

Try this —
F = openfig('sample.fig');
Ax = gca;
Lines = findobj(Ax, 'Type','line')
sent = findobj(Lines,'DisplayName','Excitation Signal');
Xsent = sent.XData;
Ysent = sent.YData;
recd = findobj(Lines,'DisplayName','Received Signal');
Xrecd = recd.XData;
Yrecd = recd.YData;
Ysidx = Ysent>0.01; % Threshold Signal
Yridx = Yrecd>0.01; % Threshold Signal
Yss = find(Ysidx,1,'first'); % First 'true' Index
Yrs = find(Yridx,1,'first'); % First 'true' Index
[istart,istop,dist] = findsignal(Yrecd(Yridx), Ysent(Ysidx));
figure
findsignal(Yrecd(Yridx), Ysent(Ysidx))
grid
figure
subplot(2,1,1)
plot(Xsent, Ysent)
% text(Xsent([istart istop])+Xsent(Yss), [0 0], compose('\\leftarrow t = %8.5E', Xsent([istart istop])+Xsent(Yss)), 'Rotation',90)
title('Sent')
grid
subplot(2,1,2)
plot(Xrecd, Yrecd)
text(Xrecd([istart istop])+Xrecd(Yrs), [0 0], compose('\\leftarrow t = %8.5E', Xrecd([istart istop])+Xrecd(Yrs)), 'Rotation',90, 'Horiz','left', 'Vert','middle')
title('Received')
grid
See the documentation on findsignal for details.
.

4 Commenti

Ok thanks, I did that these it gave me these graphs ( attached) .. .. what I actually want is one value ( time ) so that I can calculate the speed of sound through ta certain medium.. if I have the length of the medium then get time from those graphs...I can can calculate the speed of sound though the medium ..
V = t/s ..where t is the thickness and s is the time...
The time the incident (‘Excitation Signal’) began is:
SentStartTime = XSent(Yss);
The interval between that and the first ‘Received Signal’ time is:
Delay = Xrecd([istart istop])+Xrecd(Yrs)) - SentStartTime
Those calculations should produce the desired result with respect to the time differences.
The signals in the second image are not the same as the signals provided. Remember to apply an appropriate threshold, because otherwise the time at zero amplitude will be included.
.
Thanks... it worked
As always, my pleasure!

Accedi per commentare.

Più risposte (0)

Prodotti

Release

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by