我想重现这张图片,但我想用自己的EEG数据。 据我了解,这是对过滤数据进行的功率谱分析。
我用1000Hz的采样率记录了EEG信号,带有DC放大器(低:DC;高:200)。我的数据是:68(电极)x 185080(数据点)。
我尝试使用以下代码:http://uk.mathworks.com/help/signal/ug/psd-estimate-using-fft.html
Fs = 1000;
t = 0:1/Fs:1-1/Fs;
x = Data;
%x = cos(2*pi*100*t) + randn(size(t));
N = length(x);
xdft = fft(x);
xdft = xdft(1:N/2+1);
psdx = (1/(Fs*N)) * abs(xdft).^2;
psdx(2:end-1) = 2*psdx(2:end-1);
freq = 0:Fs/length(x):Fs/2;
plot(freq,10*log10(psdx))
grid on
title('Periodogram Using FFT')
xlabel('Frequency (Hz)')
ylabel('Power/Frequency (dB/Hz)')
但这是我获得的:
我正在努力了解如何继续以便像在第一张图片中那样获得我的EEG信号的分析。非常感谢任何帮助。
答案 0 :(得分:0)
这是一个简单的例子,说明如何使用fft从零开始使用fft而不使用DSP工具箱:
%this does not include any filtering
x = [0:0.01:pi];
y = sin(100*x);
nfft = 2^nextpow2(length(y));
Fs = 100;
psd1 = abs(fft(y,nfft)).^2/length(y)/Fs;%compute the PSD and normalize
plot([0:50/(length(psd1)/2):50],psd1(1:length(psd1)/2+1))
xlabel('Frequency (Hz)');
ylabel('PSD');
grid on
title('PSD from FFT');
结果:
如果此方法与您发布的方法类似,那么我认为其他人对您的数据有一些问题的评论可能有效。