matlab EEGLAB消除60Hz线路噪声和谐波的方法

gk7wooem  于 2022-12-13  发布在  Matlab
关注(0)|答案(2)|浏览(422)

我正在尝试从EEGLAB中的许多EEG数据集中去除线路噪声及其谐波。我一直在使用CleanLine插件来完成此操作。但是,它有时对某些数据集效果不佳。例如,以下是cleanline前后的对数功率谱密度图。
清洗线前:

。清洗线后:

我使用的代码是:

EEG = pop_cleanline(EEG, 'bandwidth',2,'chanlist',[1:68] ,'computepower',1,'linefreqs',[60:60:420] ,'newversion',0,'normSpectrum',0,'p',0.01,'pad',2,'plotfigures',0,'scanforlines',0,'sigtype','Channels','taperbandwidth',2,'tau',100,'verb',1,'winsize',4,'winstep',1);

我也试过使用下沿为55、上沿为65的陷波滤波器,但效果不佳。
有没有建议我可以尝试其他什么方法来消除线路噪声和谐波?或者CleanLine是最好的方法吗?有没有方法可以调整CleanLine的参数,使其更好地工作?

ktca8awb

ktca8awb1#

您可以使用伊卡函数,然后使用IClable,删除所有线路噪声分量。如果您要这样做,最好不要使用clean_line函数。我相信ICA更有可能创建这样的纯线路噪声分量。

cnh2zyt3

cnh2zyt32#

您是否已经应用了0.5 Hz的高通滤波器?首先考虑这样做,然后尝试调整参数(给予最佳结果的参数),然后使用伊卡进行cleanline。

相关问题