How to isolate one pulse from a periodic pulse train

6 vues (au cours des 30 derniers jours)
Hans123
Hans123 le 20 Juin 2019
Commenté : Star Strider le 20 Juin 2019
I want to isolate on pulse from this waveform, the data is in a CSV file and the 2 columns contain time data and voltage data.
I want to use a MATLAB code to trim out one full pulse (+peak,zero,-peak,zero)
How can I do this, the peak value is shown using the data cursor
PEAK.PNG
  2 commentaires
KALYAN ACHARJYA
KALYAN ACHARJYA le 20 Juin 2019
Use voltage>upper_th & voltage<lower_th??
Hans123
Hans123 le 20 Juin 2019
If you can, can you explain a little further. I need only one pulse out of the 3 in the image. How can I isolate one pulse?

Connectez-vous pour commenter.

Réponse acceptée

Star Strider
Star Strider le 20 Juin 2019
One approach:
t = linspace(0, 2.3, 500); % Time Vector
pulses = -0.14*sign(sin(5*pi*t/2).*(abs(sin(5*pi*t/2))>0.9)) + rand(size(t))*0.005; % Create Waveform
Mv = pulses > 0.1; % Threshold
Mvs = strfind(Mv, [0 1]); % Start Of Each Pulse
Mve = strfind(Mv, [1 0])+1; % End Of Each Pulse
figure
plot(t, pulses)
hold on
plot(t(Mvs(1):Mve(1)), pulses(Mvs(1):Mve(1)), '+')
hold off
Make appropriate changes to work with your signal.
  4 commentaires
Hans123
Hans123 le 20 Juin 2019
Thanks a lot, I really appreciate your help!
Star Strider
Star Strider le 20 Juin 2019
As always, my pleasure!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by