簡體   English   中英

濾除腦電信號中的噪聲

[英]Filter the noise from EEG signal

我最近以256Hz的采樣率記錄了EEG信號,該信號將以4-64Hz的頻率通過。我需要一個代碼來過濾eeg數據.matlab中是否有任何類型的濾波器最適合於過濾人為因素或噪聲信號?

您可以應用50或60 Hz的陷波濾波器

眼睛運動產生的偽影通常在2-5 Hz的頻率范圍內,因此您可以在此處應用高通濾波器。

小波具有閾值機制,可以使用小波包分解濾除噪聲(硬閾值和軟閾值)。

如果您的Fs = 1000 Hz,請使用此代碼來過濾信號並提取特征頻帶(alpha,beta,...)

S = "your EEG-Data-Row";
waveletFunction = 'db8' OR 'sym8' ;
[C,L] = wavedec(S,8,waveletFunction);
%% Calculation The Coificients Vectors
cD1 = detcoef(C,L,1);                   %NOISY
cD2 = detcoef(C,L,2);                   %NOISY
cD3 = detcoef(C,L,3);                   %NOISY
cD4 = detcoef(C,L,4);                   %NOISY
cD5 = detcoef(C,L,5);                   %GAMA
cD6 = detcoef(C,L,6);                   %BETA
cD7 = detcoef(C,L,7);                   %ALPHA
cD8 = detcoef(C,L,8);                   %THETA
cA8 = appcoef(C,L,waveletFunction,8);   %DELTA
%%%% Calculation the Details Vectors
D1 = wrcoef('d',C,L,waveletFunction,1); %NOISY
D2 = wrcoef('d',C,L,waveletFunction,2); %NOISY
D3 = wrcoef('d',C,L,waveletFunction,3); %NOISY
D4 = wrcoef('d',C,L,waveletFunction,4); %NOISY
D5 = wrcoef('d',C,L,waveletFunction,5); %GAMMA
D6 = wrcoef('d',C,L,waveletFunction,6); %BETA
D7 = wrcoef('d',C,L,waveletFunction,7); %ALPHA
D8 = wrcoef('d',C,L,waveletFunction,8); %THETA
A8 = wrcoef('a',C,L,waveletFunction,8); %DELTA

希望這會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM