Newer
Older
masterarbeit / usedMcode / classifyAccordingToEMG.m
@Jan-Peter Hohloch Jan-Peter Hohloch on 18 Aug 2016 1 KB fix classification
function [classification]=classifyAccordingToEMG(trainingDataEMG, classes,shift,frequency,threshold,pause)
% classifyAccordingToEMG data classified as -1 should be taken out
    sizeTrainingData=size(trainingDataEMG,1);
    classification=zeros([sizeTrainingData,1]);
    oldclass=0;
    for i=1:sizeTrainingData
        if mean(trainingDataEMG(i,:)) > threshold % is movement
            class=mode(classes(max(round(shift*frequency*i-frequency),1):min(round(i*shift*frequency-1),end)));
            if class <= 5 % task is to move
                if oldclass==0
                    for j=max(fix(i-1/shift),1):fix(i-0.5/shift) % Pause before beginning of movement
                        classification(j)=-1; %code for pause
                    end
                    for j=max(fix(i-0.5/shift),1):i % half a second before executed movement there should be activity (esp. EEG)
                        if pause
                            classification(j)=-1;
                        else
                            classification(j)=class;
                        end
                    end
                    oldclass=class;
                end
                classification(i)=class;
            else % task is to rest but movement not finished
                classification(i)=oldclass;
            end
        else
            oldclass=0;
        end
    end
end