|
@@ -34,12 +34,12 @@ class DataDecoder:
|
|
if(items['averaging_num'] == averaging_num and items['data_num'] == data_num):
|
|
if(items['averaging_num'] == averaging_num and items['data_num'] == data_num):
|
|
return items['measurement_rate']
|
|
return items['measurement_rate']
|
|
|
|
|
|
- def getDataSpectrum(self, averaging_num=0, data_num=0, channel_num=0, points=10, range=5.0, zero_fill=0):
|
|
|
|
|
|
+ def getDataSpectrum(self, averaging_num=0, data_num=0, channel_num=0, points=10, range=5.0, zero_fill=0, first_idx=0, last_idx=10):
|
|
scaledData = self.getDataScaled(averaging_num, data_num, channel_num, points, range)
|
|
scaledData = self.getDataScaled(averaging_num, data_num, channel_num, points, range)
|
|
- zerofilledData = np.append(scaledData, np.zeros(zero_fill))
|
|
|
|
|
|
+ zerofilledData = np.append(scaledData[first_idx:last_idx], np.zeros(zero_fill))
|
|
rate = self.getDataRate()
|
|
rate = self.getDataRate()
|
|
- transferedData = fft.rfft(zerofilledData) * 2 / points
|
|
|
|
- freqs = fft.rfftfreq(points+zero_fill, 1/rate)
|
|
|
|
|
|
+ transferedData = fft.rfft(zerofilledData) * 2 / (last_idx-first_idx)
|
|
|
|
+ freqs = fft.rfftfreq((last_idx-first_idx)+zero_fill, 1/rate)
|
|
spectrum = np.abs(transferedData)
|
|
spectrum = np.abs(transferedData)
|
|
phases = np.angle(transferedData)
|
|
phases = np.angle(transferedData)
|
|
spect_dict = {'freqs': freqs,
|
|
spect_dict = {'freqs': freqs,
|
|
@@ -47,13 +47,13 @@ class DataDecoder:
|
|
'spectrum': spectrum}
|
|
'spectrum': spectrum}
|
|
return spect_dict
|
|
return spect_dict
|
|
|
|
|
|
- def getDataPoints(self, averaging_num=0, data_num=0, channel_num=0):
|
|
|
|
|
|
+ def getDataPoints(self, averaging_num=0, data_num=0):
|
|
for items in self.structed_data:
|
|
for items in self.structed_data:
|
|
if(items['averaging_num'] == averaging_num and items['data_num'] == data_num):
|
|
if(items['averaging_num'] == averaging_num and items['data_num'] == data_num):
|
|
- return items['measurement_points'][channel_num]
|
|
|
|
|
|
+ return items['measurement_points']
|
|
|
|
|
|
|
|
|
|
-#dec = DataDecoder('saved_new.json')
|
|
|
|
|
|
+#dec = DataDecoder('fid_test.json')
|
|
|
|
|
|
#print('getRawData(0, 0, 1):')
|
|
#print('getRawData(0, 0, 1):')
|
|
#print(dec.getRawData(0, 0, 1)) # ::getRawData(averagingIndex, dataTriggerIndex, channelIndex)
|
|
#print(dec.getRawData(0, 0, 1)) # ::getRawData(averagingIndex, dataTriggerIndex, channelIndex)
|
|
@@ -64,12 +64,18 @@ class DataDecoder:
|
|
#print(a[0:100]) # ::getDataDecoded(averagingIndex, dataTriggerIndex, channelIndex, count)
|
|
#print(a[0:100]) # ::getDataDecoded(averagingIndex, dataTriggerIndex, channelIndex, count)
|
|
#print('\n')
|
|
#print('\n')
|
|
|
|
|
|
-#print('getDataScaled(0, 1, 1, 100, 5.0):')
|
|
|
|
-#a = dec.getDataScaled(0, 1, 1, 100, 5.0)
|
|
|
|
-#print(a[0:100])
|
|
|
|
|
|
+#print('getDataScaled(0, 1, 1, 100, 0.1):')
|
|
|
|
+#a = dec.getDataDecoded(0, 0, 1, 80000)
|
|
|
|
+#rate = dec.getDataRate(0, 0)
|
|
|
|
+#print(a[500:1000])
|
|
|
|
+#t = np.arange(0, 80000 / rate, 1 / rate)
|
|
|
|
+#plt.plot(t, a)
|
|
|
|
+#plt.show()
|
|
#print('\n')
|
|
#print('\n')
|
|
|
|
|
|
#print('getDataSpectrum(0, 1, 1, max_points, 5.0, max_points):')
|
|
#print('getDataSpectrum(0, 1, 1, max_points, 5.0, max_points):')
|
|
-#points = dec.getDataPoints(0, 1, 1)
|
|
|
|
-#spect_dict = dec.getDataSpectrum(0, 1, 1, points, 5.0, 10000)
|
|
|
|
|
|
+#points = dec.getDataPoints(0, 0)
|
|
|
|
+#spect_dict = dec.getDataSpectrum(0, 0, 1, points[0], 0.1, 0, 5000, 19600)
|
|
|
|
+#plt.plot(spect_dict['freqs'], spect_dict['spectrum'])
|
|
|
|
+#plt.show()
|
|
#print('\n')
|
|
#print('\n')
|