how to use fft to plot the average values and their standard deviations in the frequency domain?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Matthew Worker
le 18 Fév 2023
Commenté : Sulaymon Eshkabilov
le 18 Fév 2023
Hello,
I would like to plot a signal (av) containing average values in the frequency domain, having a vector T containing time values.
But i would also like to put in the same plot the curve of av+ the vector of standard deviations sd
Here's the code i have used:

when i plot only av in the frequency domain i get a curve like this:

However when I plot both, i only get one curve and the other one has null values:

Any ideas of how to do it?
Best regards.
0 commentaires
Réponse acceptée
Sulaymon Eshkabilov
le 18 Fév 2023
First of all, both signals need to be in one domain. If the freq domain is chosen then both need to be in the freq domain.
In your shown part of your code, it is in freq domain. That is ok.
Presumably as shown here the magnitude of the two signals differ significantly and thus, they are not visible. To make both signals visible, use yyaxis l;eft and yyaxis right - see example:
fs = 2000; % Sampling frequency
t =0:1/fs:5; % Time
F1 = 5; % Lowest frequency
F2 = 17; % Mid frequency
F3 = 55; % Highest frequecy
X1 = 0.25*sin(2*pi*t*F3)+randn(size(t))*.5;
X2 = 3*sin(2*pi*t*F1)+cos(2*pi*t*F2)+randn(size(t))*.5+X1;
yyaxis left
N = 2^nextpow2(length(X1));
Y1 = fft(X1, N); % FFT of the signal x1(t)
Y2 = fft(X2, N); % FFT of the signal x2(t)
freq = fs*(0:(N/2))/N; % Freq values
Yp1 = abs(Y1/N); % Absolute value or magnitude of the signal spectrum
Yp2 = abs(Y2/N);
yyaxis left
plot(freq,Yp1(1:N/2+1))
ylabel('Magnitude of signal = |Y1(f)|')
yyaxis right
plot(freq,Yp2(1:N/2+1))
title('FFT analysis of a signal')
xlabel('Frequency, [Hz]')
ylabel('Magnitude of signal = |Y2(f)|')
grid on
xlim([0, 65])
2 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Spectral Measurements 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!
