该函数用于对一段原始EEG信号进行分解,得到医学上认定的9个频段的时域、频域信息。
(1)总频段:0.5-45Hz;
(2)low-Delta:0.5-2Hz;
(3)high-Delta:2-4Hz;
(4)Theta:4-7Hz;
(5)Alpha:8-13Hz;
(6)low-Beta:13-20Hz;
(7)high-Beta:20-30Hz;
(8)low-Gamma:30-40Hz;
(9)high-Gamma:40-45Hz。
该函数不考虑FFT的采样点数小于信号的采样频率的情况,即N<Fs。
function [Time_domain, Freq_domain] = EEG_decoding(signal, Fs, N)
% % 输入 signal:待解码原始信号
% % Fs: 信号的采样频率
% % N: FFT的采样点数
% % 输出 Time:时域信息
% % Freq:频域信息
% 信号预处理
signal_nodc = signal-mean(signal);% 通过减去平均值来消除直流分量
%利用FFT进行滤波
frequency = Fs*(0:N-1)/N; %频率
EEG_FFT = fft(signal_nodc, N); %对无直流分量的信号进行FFT
time = (1:length(EEG