Power spectral density of a signal

14 次查看(过去 30 天)
Hello I have EEG dataset in excel format with time and voltage values.I need to plot the power spectral density of the signal. I have loaded the excel file in Matlab and plotted the voltage vs time values. Now I need to calculate the power spectral density. Generally the frequency range of EEG signals between 0-30 Hz. Since I have only voltage and Time values, I do not know the frequency of my signal. I need to calculate Power spectral density Using FFT. I am including the code in matlab file and time voltage values of the signal in txt file for reference. Please suggest me.
dataset=xlsread('input signal.xlsx','sheet1','A1:B770');
t = dataset(:,1);
V = dataset(:,2);
X=[t V];
subplot(2,2,1);
plot(X(:,1), X(:,2))
xlabel ('time');
ylabel('voltage');
title('original Signal');

采纳的回答

Birdman
Birdman 2017-11-16
I assume that your sampling is 1kHz(in practice), use the following code to see the psd of the signal:
h1=spectrum.welch;
set(h1,'Windowname','Hann');
Fs=1000;
set(h1,'OverlapPercent',66.7);
set(h1,'SegmentLength',512);
myPsd=psd(h1,X(:,2)-mean(X(:,2)),'Fs',Fs)
semilogx(myPsd.Frequencies,myPsd.Data);grid on
You will see that between 0-30Hz, your signal has peaks. Hope this helps.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Parametric Spectral Estimation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by