- Load each data file using the "load" function.
- Compute the power spectral density (PSD) for each time series using the "pwelch" function.
- Average the power spectra of all the time series.
- Plot the average power spectrum.
How to plot average power spectra of 5 time series data ?
15 次查看(过去 30 天)
显示 更早的评论
I have 5 time series data files . i.e. first.dat , second.dat, third.dat , four.dat , five.dat
I want to plot average power spectra plot of these five time series data at a time . Please suggest how to plot?
0 个评论
回答(1 个)
Vaibhav
2024-2-14
Hi Duryodhan
I understand that you would like to plot average power spectra plot for time series data simultaneously.
You can consider following the below steps:
Here is a code snippet for your reference:
% Initialize an array to store the power spectra.
powerSpectra = [];
% Define the list of filenames.
filenames = {'first.dat', 'second.dat', 'third.dat', 'four.dat', 'five.dat'};
% Loop through each file.
for i = 1:length(filenames)
% Load the time series data from the file.
data = load(filenames{i});
% Assuming the data is a single column of values. If it's not, you may need to adjust this.
timeseries = data(:,1);
% Compute the power spectral density (PSD) using Welch's method.
% You may need to specify the window, overlap, and NFFT parameters as needed.
[pxx, f] = pwelch(timeseries, [], [], [], 'onesided');
% Store the power spectrum in the array.
powerSpectra = [powerSpectra; pxx'];
end
% Compute the average power spectrum.
averagePowerSpectrum = mean(powerSpectra, 1);
% Plot the average power spectrum.
figure;
plot(f, 10*log10(averagePowerSpectrum));
xlabel('Frequency (Hz)');
ylabel('Power/Frequency (dB/Hz)');
title('Average Power Spectrum');
grid on;
You can refer to the MathWorks documentation below to learn more about "load" and "pwelch" function respectively:
Hope this helps!
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Spectral Measurements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!