diff --git a/text/TODO.txt b/text/TODO.txt index a867298..027407a 100644 --- a/text/TODO.txt +++ b/text/TODO.txt @@ -41,3 +41,8 @@ Synergien aus WL (50ms step 200 ms window) (done) Synergien lernen + +shift echt variabel, bisher EEG und EMG gleich + +Refactoring, Comments + diff --git a/usedMcode/classifyAccordingToEMG.m b/usedMcode/classifyAccordingToEMG.m index 048f540..92b261d 100644 --- a/usedMcode/classifyAccordingToEMG.m +++ b/usedMcode/classifyAccordingToEMG.m @@ -1,5 +1,6 @@ -function [classification]=classifyAccordingToEMG(sizeTrainingData, trainingDataEMG, classes,shift,frequency,threshold,pause) +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 diff --git a/usedMcode/generateTrainingData.m b/usedMcode/generateTrainingData.m index 745d301..747c807 100644 --- a/usedMcode/generateTrainingData.m +++ b/usedMcode/generateTrainingData.m @@ -1,10 +1,8 @@ function [trainingDataEEG,trainingDataEEGlf,trainingDataEMG,kinPerSec] = generateTrainingData(signal,kin,windowEMG,windowEEG,shiftEMG,shiftEEG,params,pburgOrder,minEEGFreq,maxEEGFreq,noLFsamples,EMGChannels) bci_sf=params.SamplingRate.NumericValue; - signalWindowEMG=bci_sf*windowEMG; signalWindowEEG=bci_sf*windowEEG; tempEEG=zeros([32,fix(floor(size(signal,1)/signalWindowEEG-1)*windowEEG/shiftEEG+1),maxEEGFreq-minEEGFreq+1]); tempEEGlf=zeros([32,fix(floor(size(signal,1)/signalWindowEEG-1)*windowEEG/shiftEEG+1),noLFsamples]); - tempEMG=zeros(fix([6,fix(size(signal,1)/signalWindowEMG-1)*windowEMG/shiftEMG+1])); %Filter around 50Hz and below 2 Hz [A,B]= butter(2,[48 52]/(bci_sf/2),'stop'); diff --git a/usedMcode/readAll.m b/usedMcode/readAll.m index 39accc7..79e6486 100644 --- a/usedMcode/readAll.m +++ b/usedMcode/readAll.m @@ -39,9 +39,8 @@ kinMat=cell2mat(kin); clear trainingDataEEGcell trainingDataEMGcell classesCell kin - classificationWithPause=classifyAccordingToEMG(size(... - trainingDataEEG,1), trainingDataEMG,classesMat,shiftEMG,... - bci_sf,threshold,pause); + classificationWithPause=classifyAccordingToEMG(trainingDataEMG,... + classesMat,shiftEMG,bci_sf,threshold,pause); clear classesMat smoothClassificationEMG=zeros(size(classificationWithPause)); diff --git a/usedMcode/waveformLengthAll.m b/usedMcode/waveformLengthAll.m index 3697b40..34eadcc 100644 --- a/usedMcode/waveformLengthAll.m +++ b/usedMcode/waveformLengthAll.m @@ -1,4 +1,4 @@ -function [EMG]=waveformLengthAll(sig,bci_sf,windowEMG,windowShift) +function [EMG]=waveformLengthAll(sig,bci_sf,windowEMG,shiftEMG) %Filter around 50Hz and below 2 Hz [A,B]= butter(2,[48 52]/(bci_sf/2),'stop'); @@ -6,9 +6,9 @@ [E,F]= butter(2,[148 152]/(bci_sf/2),'stop'); signalWindow=bci_sf*windowEMG; - shiftProp=windowEMG/windowShift; + shiftProp=windowEMG/shiftEMG; EMG=zeros((floor(size(sig,1)/signalWindow)-1)*shiftProp+1,size(sig,2)); parfor i=1:size(sig,2) - EMG(:,i)=waveformLength(filtfilt(double(E),double(F),filtfilt(double(C),double(D),filtfilt(double(A),double(B),double(sig(:,i))))),bci_sf,windowEMG,windowShift); + EMG(:,i)=waveformLength(filtfilt(double(E),double(F),filtfilt(double(C),double(D),filtfilt(double(A),double(B),double(sig(:,i))))),bci_sf,windowEMG,shiftEMG); end end \ No newline at end of file