diff --git a/usedMcode/noOfSynergies.m b/usedMcode/noOfSynergies.m index f424a77..ddbdd57 100644 --- a/usedMcode/noOfSynergies.m +++ b/usedMcode/noOfSynergies.m @@ -2,6 +2,8 @@ % pathToFile='/nfs/wsi/ti/messor/hohlochj/origData/'; pathToFile='/home/jph/Uni/masterarbeit/origData/'; maxFile=5; +windowEMG=0.2; +windowShift=0.05; maxSize=6; oneSubject=true; @@ -28,7 +30,7 @@ parfor j=1:size(numbersMat,2) number=numbersMat(j); subject=subjectsForNumbers{j}; - EMG{j}=readEMGSig(pathToFile,subject,number,maxFile); + EMG{j}=readEMGSig(pathToFile,subject,number,maxFile,windowEMG,windowShift); end trainingData=cell2mat(EMG); diff --git a/usedMcode/readEMGSig.m b/usedMcode/readEMGSig.m index f03da3a..64374fc 100644 --- a/usedMcode/readEMGSig.m +++ b/usedMcode/readEMGSig.m @@ -1,10 +1,11 @@ -function [EMG]=readEMGSig(pathToFile,subject,number,maxFile) +function [EMG]=readEMGSig(pathToFile,subject,number,maxFile,windowEMG,windowShift) EMGcell=cell(maxFile,1); usedChannels={'AbdPolLo','Biceps','Triceps','FrontDelt','MidDelt','BackDelt'}; for i=1:maxFile [sig, ~, params] = load_bcidat(strcat(pathToFile,sprintf('%s/%s_B100%i/%s_B1S00%iR0%i.dat',subject,subject,number,subject,number,i))); - EMGcell{i}=sig(:,ismember(params.ChannelNames.Value,usedChannels)); + tmp=sig(:,ismember(params.ChannelNames.Value,usedChannels)); + EMGcell{i}=waveformLengthAll(tmp,params.SamplingFrequency.NumericValue,windowEMG,windowShift); end EMG=cell2mat(EMGcell); diff --git a/usedMcode/waveformLengthAll.m b/usedMcode/waveformLengthAll.m new file mode 100644 index 0000000..2effb0c --- /dev/null +++ b/usedMcode/waveformLengthAll.m @@ -0,0 +1,8 @@ +function [EMG]=waveformLengthAll(sig,frequency,windowEMG,windowShift) + signalWindow=frequency*windowEMG; + shiftProp=windowEMG/windowShift; + EMG=zeros((floor(size(sig,1)/signalWindow)-1)*shiftProp+1,size(sig,2)); + parfor i=1:size(sig,2) + EMG(:,i)=waveformLength(sig(:,i),frequency,windowEMG,windowShift); + end +end \ No newline at end of file