Sådan finder du hver cyklus i Matlab?

P

Poison_83

Guest
Jeg har et periodisk signal med stigende frekvens over tid, nu jeg vil opdele signalet til hver periodisk cyklus og analysere det adskilt.
For eksempel i begyndelsen af det signal det periodiske tid kan 100ms og i sidste ende kan det 10ms, men jeg ønsker et program til at se på bare en periode uafhængigt af frekvensen.
Hvordan får jeg dette på en nem måde med Matlab eller C?
Tak

 
Jeg er ikke sikker på jeg forstår hvad du mener med "se på bare en periode", men måske dette eksempel vil hjælpe dig.Det genererer en frekvens feje og derefter tabulates de bølgeform's positiv-hældningen nul-grænseovergangsstederne.Du kan kopiere og indsætte koden direkte i din Matlab Command Window.
Code:

% Hyppighed feje

F0 = 10% starte frekvens, Hertz

F1 = 100;% stop frekvens, Hertz

T = 0,5;% varighed sekunder

FS = 1000;% samplingsfrekvens, Hertz

N = runde (T * FS);

t = T * (0: N-1) '/ (N-1);

y = sin (2 * pi * (F0 (F1 - F0) / 2 .* t / T) .* t);

subplot (2,1,1), plot (t, y); xlabel ( 'sekunder');

%

% Positive-hældningen nul-passage detektor

z = og ((y> 0), ikke (circshift ((y> 0), 1))); z (1) = 0;

subplot (2,1,2), plot (t, z); xlabel ( 'sekunder');

%

% Find placeringen af nul-grænseovergangsstederne

crossing_points = find (z);
 
Tak!
Ja koden ser ud til at fungere ganske som en lyst.

Målet er at måle peakvalue af hver periode og derefter sammenligne med hinanden.

 
Hej
Kan wavelet eller kort tid Fouriertransformation (STFT) kan hjælpe u.

 

Welcome to EDABoard.com

Sponsor

Back
Top