【发布时间】:2016-07-28 12:54:51
【问题描述】:
我想用我自己的脑电图数据重现这张图片。 据我了解,这是对过滤数据进行的功率谱分析。
我使用直流放大器(低:直流;高:200)以 1000Hz 的采样率记录了脑电信号。我的数据是: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 信号的分析。任何帮助将不胜感激。
【问题讨论】:
-
@willpower2727 该链接是我用来获取代码的链接。
-
你有DSP工具箱吗?
-
@willpower2727 不,我没有。
-
无需过多考虑代码,您的结果似乎只显示了一堆噪音 - 即您是否正确记录了您的 EEG 信号?即使没有将 FFT 转换为功率谱(顺便说一句,这很容易,只是对您的 FFT 进行一些操作,一般形状应该看起来相同),您的结果看起来不正确,这与代码无关.你能确认你的输入是正确的吗?
-
@GameOfThrows 是的,我想我确实正确记录了 EEG 信号。这是几分钟的休息状态。但是,我注意到电极是 68(包括 EKG 和 EMG),我实际上并没有使用。
标签: matlab plot spectrum frequency-analysis