【发布时间】:2020-02-28 04:11:08
【问题描述】:
%Convert data from EDF to MATLAB form
[header1, data1]=edfread('Subject00_1.edf');
%Sampling rate
Fs=500;
%Channel wise data extraction
data_ch1=data1(1,:);
data_ch1=data_ch1(1:length(data_ch1));
%Fourier Transform
fCoefsF=fft(data_ch1);
amplitude =abs(fCoefsF);
mirror_freq=length(amplitude)/2;
figure(1)
plot(amplitude)
%Manual Removal of higher Frequency
for i=1:length(fCoefsF)
if ((Fs/mirror_freq*i/2)>4) %While extracting the Delta signal(upto 4hz)
fCoefsF(i)=0;
if length(fCoefsF)-i == 0
break;
end
fCoefsF(length(fCoefsF)-i)=0;
else
fCoefsF(i)=fCoefsF(i);
end
end
amplitude=abs(fCoefsF);
figure(2)
plot(amplitude)
%Reconstruct the components of the EEG Signal
%Inverse fourier transform
component_recon=ifft(fCoefsF);
figure(3)
plot(component_recon)
我想从 EDF 文件中提取 EEG 组件。脑电图成分如下表:
-
Delta - 高达 4 Hz;
-
Theta - 4 -> 8 赫兹;
-
阿尔法 - 8 -> 13 赫兹;
-
测试版 - 13 -> 30 赫兹;
我得到了here 的帮助。但我仍然不知道为什么我在执行反向 fft 时没有收到信号。
【问题讨论】:
-
请正确格式化您的代码
-
格式化完成。
标签: matlab