Open
Description
Hello! Using a version of the removeTrend
function ported to Python, I noticed that frequencies below the detrendCutoff
in removeTrend
are not completely attenuated when using the local method: sappelhoff/pyprep#125
I was wondering if this is the desired output, since it isn't clear to me why the window size is computed by dividing 1.5 by the cutoff frequency:
Also, I tried to test the original MATLAB code, but I wasn't able to debug it myself. Any tips there would be appreciated.
Script:
%% simulate signal
duration = 120;
frequency = [0.2, 0.4, 0.8, 1.6, 3.2];
amplitude = [1, 2, 3, 2, 1];
srate = 200;
nSamples = round(duration * srate);
period = 1 / srate;
seconds = (1:nSamples).*period;
data = zeros(1, nSamples);
for i=1:length(frequency)
data = data + amplitude(i) * sin(2 * pi * frequency(i) * seconds);
end
%% format input
EEG.data = data;
EEG.srate = srate;
detrendIn = struct('detrendChannels', 1, 'detrendType', 'linear', ...
'detrendCutoff', 0.5, 'detrendStepSize', 0.02, ...
'detrendCommand', []);
[EEG, detrendOut] = removeTrend(EEG, detrendIn);
Error:
testRemoveTrend
Unrecognized function or variable 'change_row_to_column'.
Error in localDetrend (line 35)
data = change_row_to_column(data);
Error in removeTrend (line 83)
localDetrend(EEG.data(detrendOut.detrendChannels, :)', ...
Error in testRemoveTrend (line 30)
[EEG, detrendOut] = removeTrend(EEG, detrendIn);
Metadata
Metadata
Assignees
Labels
No labels