计算平均功率的脑电图区间

24日视图(30天)
劳拉Hagedorn
劳拉Hagedorn 2023年5月22日四十六分
你好,我有脑电图数据来自42个参与者(存储为.mat“from_path”目录中的文件)。每个数据文件包含关于25000 - 30000年的时间戳和16频道。我想把数据分割成3间隔:从1到n1, n1和n2,从2到最后(n1和n2列),然后计算的平均力量三角洲,θ,α,β和γ乐队。然后我想输出存储在一个16 x5表并将其保存。
下面是我的代码,计算平均力量对整个脑电图文件。我如何调整以这样一种方式,计算每个部分的平均功率吗?
提前谢谢你!
文件= dir (strcat (from_path, ' \ * .mat '))
i = 1:长度(文件)
文件名(i) . name =文件;
data =负载(文件名).eeg;
srate = 250;
nchan = 16;
n1 = . .;%我有另一个函数来提取所需的列
n2 = . .;
seg1 =数据(:,1:n1);
seg2 =数据(:,n1: n1 + n2);
seg3 =数据(:,n1 + n2:结束);
权力= 0 (1、5);
陈= 1:nchan
(光谱,频率)= spectopo(数据(chan):,:), 0, srate, “windowsize” srate, “阴谋” , “关闭” );
deltaIdx =找到(频率> 0.5 &频率< 4);
thetaIdx =找到(频率> 4 &频率< 8);
alphaIdx =找到(频率> 8 &频率< 13);
betaIdx =找到13 &频率(频率> < 30);
gammaIdx =找到30 &频率(频率> < 45);
deltaPower =意味着(10 ^(光谱(deltaIdx) / 10));
thetaPower =意味着(10 ^(光谱(thetaIdx) / 10));
alphaPower =意味着(10 ^(光谱(alphaIdx) / 10));
betaPower =意味着(10 ^(光谱(betaIdx) / 10));
gammaPower =意味着(10 ^(光谱(gammaIdx) / 10));
战俘= [deltaPower thetaPower、alphaPower betaPower, gammaPower);
权力(+ 1,:)=战俘;
结束 ;
权力(1:)= []
ps =表(权力);
proc_filename = strcat(文件名, . csv” );
writetable (ps、proc_filename);
结束 ;

答案(0)

类别

找到更多的在脑电图/梅格/ ECoG帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!