Professional Documents
Culture Documents
Sử dụng Matlab trong phân tích dữ liệu EEG ứng dụng trong BCI
Sử dụng Matlab trong phân tích dữ liệu EEG ứng dụng trong BCI
Sử dụng Matlab trong phân tích dữ liệu EEG ứng dụng trong BCI
Dữ liệu thu được từ các thiết bị đo EEG thường rất phức tạp và hỗn loạn
Tín hiệu EEG thô cần được sử lý thông qua nhiều giai đoạn mới có thể phân loại để đưa
vào sử dụng vào các mục đích khác sau
Mô tả thí nghiệm: Nghiệm thể được yêu cầu nhìn vào Monitor hiển thị một ô vuông chớp
tắt với tần số nhất định (ở đây xét tần số là 10Hz)
Vùng đo Oz
Code Matlab:
signal = Data.EEG(:,1);
fs = Data.AmpSamlingFrequency;
L = length(signal);
y = signal;
NFFT = floor(2^nextpow2(L));
Y = fft(y,NFFT)/L;
f = fs/2*linspace(0,1,NFFT/2+1);
y_y = 2*abs(Y(1:NFFT/2+1));
x = f;
plot(x,y_y);
xlim([0 50]);
xlabel('Tan số (Hz)')
ylabel('dB')
grid on
Wanted Signal
Harmonic
Sử dụng biến đổi Fourier nhanh ta được phổ tín hiệu như trên, nhận thấy tín hiệu ở tần số
mong muốn ((wanted signal) có biên độ lớn nhất. Bên cạnh đó, có tồn tại sóng
hài (Harmonic)và các tín hiệu nhiễu (noise), can nhiễu (interferer) gây ra ảnh hưởng đến
tín hiệu.
Do tín hiệu ở đây chỉ xét một kênh nên để đơn giản ta sử dụng bộ lọc Lowpass với
Code Matlab:
fpass=10
z = lowpass(y_y,fpass,fs)