我已经获得了一个5分钟的原始脑电图从Nexus10mark 2设备,它是给我输出在matlab作为1x76800行矢量。据我所知,选择的采样频率是256 hz,因此它给了我总共76800个采样点。没有在这个原始脑电信号上完成N点FFT。由于N只能是2的幂,所以我从生鸡蛋中提取65536(2 ^16)采样点,即从76800点提取65536点。现在我不能对这个向量(65536个采样点)进行快速傅立叶变换,请任何人都可以guide..as,我是个初学者。到目前为止我已经试过了
x=raw(1,1:65536); %raw eeg contain 76800 points , 65536 points are taken
from this
N=length(x);
fs=256;
ts=1/fs;
tmax=(N-1)*ts;
t=0:ts:tmax;
plot(t,x); % plot time domain
f=-fs/2:fs/(N-1):fs/2;
fftval=fft(x);
plot(f,ffval); % plot freq domain我不知道下面的步骤是否正确.I无法从堆栈溢出的许多帖子中理解我去了through..please帮助.我不想像许多POSTS.PLEASE帮助一样使用EEGLAB
发布于 2015-04-21 10:49:52
我认为代码可以是这样的:
load('eeg_4m.mat')
fs=2048;
x=val(1,:);
N=length(x);
ts=1/fs;
tmax=(N-1)*ts;
t=0:ts:tmax;
plot(t,x); % plot time domain
nfft = 2^( nextpow2(length(x)) );
df = fs/nfft;
f = 0:df:fs/2;
X = fft(x,nfft);
X = X(1:nfft/2+1);
figure; plot(f,abs(X)); axis([0,50,0,10e6]); % plot freq domain发布于 2014-04-21 03:26:09
768000是一个非常好的FFT大小。小素数上的分解: 2^11 *3* 5^3
在我的笔记本电脑上,这个花费大约15毫秒。
FFT只能是2的幂,这是一种比较普遍的误解。混合基FFT的情况并非如此。
https://stackoverflow.com/questions/23167374
复制相似问题