amplitude of non-periodic signal
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
mustafa alnasser
le 2 Oct 2015
Commenté : Star Strider
le 3 Oct 2015
Dear All; if I have a non periodic signal/wave , how can i calculate the amplitude and wavelength ?
0 commentaires
Réponse acceptée
Star Strider
le 3 Oct 2015
Another possibility is in the code I used in this Answer. The peak times (the periods are the differences between them) will be in t(zx_idx) and the amplitudes will be in C(zx_idx) in that code.
2 commentaires
Star Strider
le 3 Oct 2015
It is in my Answer. I am reposting it here:
t = linspace(0, 10, 1000); % Time
C = 2 + sin(2*pi*t + cos(5*pi+t)*pi); % Signal
dC = diff([0, C])/(t(2)-t(1)); % Approximate Derivative
dCzx = dC .* circshift(dC, [0 -1]); % Negative Values => Zero Crossings (Mostly)
zx_idx = find(dCzx <= 0); % Derivative Zeros Are Maxima, Minima Of ‘C’
figure(1)
plot(t, C)
hold on
plot(t(zx_idx), C(zx_idx), 'or')
hold off
grid
axis([xlim 0 5])
Plus de réponses (1)
Image Analyst
le 3 Oct 2015
As you know, any arbitrary signal can be considered as a weighted sum of a bunch of sine waves - that's the whole concept of Fourier analysis. I suggestion you look at the fft() function or the pwelch() function.
2 commentaires
Voir également
Catégories
En savoir plus sur Matched Filter and Ambiguity Function dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!