diff --git a/usedMcode/generateTrainingData.m b/usedMcode/generateTrainingData.m index a434d03..8637129 100644 --- a/usedMcode/generateTrainingData.m +++ b/usedMcode/generateTrainingData.m @@ -1,21 +1,21 @@ function [trainingDataEEG,trainingDataEEGlf,trainingDataEMG,kinPerSec] = generateTrainingData(signal,kin,windowEMG,windowEEG,shiftEMG,shiftEEG,params,pburgOrder,minEEGFreq,maxEEGFreq,noLFsamples,EMGChannels) bci_sf=params.SamplingRate.NumericValue; signalWindowEEG=bci_sf*windowEEG; - tempEEG=zeros([32,fix(floor(size(signal,1)/signalWindowEEG-1)*windowEEG/shiftEEG+1),maxEEGFreq-minEEGFreq+1]); + tempEEG=zeros([32,fix(floor(size(signal,1)/signalWindowEEG-1)*windowEEG/shiftEEG+1),201]); tempEEGlf=zeros([32,fix(floor(size(signal,1)/signalWindowEEG-1)*windowEEG/shiftEEG+1),noLFsamples]); %Filter around 50Hz and below 2 Hz [A,B]= butter(2,[48 52]/(bci_sf/2),'stop'); - [C,D]= butter(2,1/(bci_sf/2),'high'); + [C,D]= butter(2,minEEGFreq/(bci_sf/2),'high'); [E,F]= butter(2,[148 152]/(bci_sf/2),'stop'); - [G,H]= butter(2,100/(bci_sf/2),'low'); + [G,H]= butter(2,maxEEGFreq/(bci_sf/2),'low'); % filter for low Frequencies [V,W]= butter(2,0.01/(bci_sf/2),'high'); [X,Y]= butter(2,1/(bci_sf/2),'low'); parfor i=1:32 %filter single channel, w/o EMG, HEOG, Synchro and 0s - tempEEG(i,:,:)=shiftingPburg(filtfilt(double(G),double(H),filtfilt(double(E),double(F),filtfilt(double(C),double(D),filtfilt(double(A),double(B),double(signal(:,i)))))),bci_sf,windowEEG,shiftEEG,pburgOrder,minEEGFreq,maxEEGFreq); + tempEEG(i,:,:)=shiftingPburg(filtfilt(double(G),double(H),filtfilt(double(E),double(F),filtfilt(double(C),double(D),filtfilt(double(A),double(B),double(signal(:,i)))))),bci_sf,windowEEG,shiftEEG,pburgOrder,0,200); tempEEGlf(i,:,:)=shiftingDownsample(filtfilt(double(X),double(Y),filtfilt(double(V),double(W),double(signal(:,i)))),bci_sf,windowEEG,shiftEEG,noLFsamples); end trainingDataEEG=permute(tempEEG,[2 1 3]); diff --git a/usedMcode/readAll.m b/usedMcode/readAll.m index e99717d..4e1533c 100644 --- a/usedMcode/readAll.m +++ b/usedMcode/readAll.m @@ -70,7 +70,7 @@ ae=trainAutoencoder(trainingDataEMG',noSynergies,'ShowProgressWindow',false); synergiesAutoenc=encode(ae,trainingDataEMG')'; COEFF=pca(trainingDataEMG,'Centered',false); - synergiesPCA=trainingDataEMG/COEFF(:,1:4)'; + synergiesPCA=trainingDataEMG/COEFF(:,1:noSynergies)'; [~,H]=nnmf(trainingDataEMG,noSynergies); synergiesNNMF=trainingDataEMG*H';