amplitude of non-periodic signal

7 vues (au cours des 30 derniers jours)
mustafa alnasser
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 ?

Réponse acceptée

Star Strider
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
mustafa alnasser
mustafa alnasser le 3 Oct 2015
Thank you but where is the code ?
Star Strider
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])

Connectez-vous pour commenter.

Plus de réponses (1)

Image Analyst
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
mustafa alnasser
mustafa alnasser le 3 Oct 2015
Thank you but where is the code ?
mustafa alnasser
mustafa alnasser le 3 Oct 2015
sorry for the second answer.
For your answer i have already did that but i could not figure out how use FFT to do that

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by