Power spectral density of a signal
조회 수: 9 (최근 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');
댓글 수: 0
채택된 답변
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 Center 및 File Exchange에서 Parametric Spectral Estimation에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!