def getSVMTrainingData(datas): trainingDatas = [] for rawData, output in datas: channels = zip(*rawData) allBins = [] for channel in channels: downSampledData = fftDataExtraction.downSample(channel, rawSps, constants.samplesPerSecond, interpolate = True) transforms = fftDataExtraction.applyTransformsToWindows(fftDataExtraction.getFFTWindows(downSampledData), magnitude = True, polyFitSubtraction = 2) bins = fftDataExtraction.DoFrequencyBinning(transforms) allBins.append(bins) trainingInputs = map(lambda x: x[0] + x[1], zip(*allBins)) trainingDatas += [(input, output) for input in trainingInputs] return trainingDatas
import fftDataExtraction import constants from matplotlib import pylab if __name__ == "__main__": filename = "Data/Mark/32kSPS_160kS_ExtensorRadialis_0%.xls" data = fftDataExtraction.getDownSampledData(filename) sps = constants.samplesPerSecond windows = fftDataExtraction.getFFTWindows(data[int(0.8*sps):]) alltimes = [float(x) / sps for x in range(len(data))] times = range(len(windows[0])) postData = fftDataExtraction.subtractPolynomialFit(windows[0], 5) #pylab.plot(alltimes, data) pylab.plot(times, windows[0]) pylab.plot(times, postData) pylab.grid(True) pylab.show()