##// END OF EJS Templates
Prueba de lectura de Voltajes y obtencion de Espectros.
Miguel Valdez -
r220:a4afebb9fb40
parent child
Show More
@@ -214,7 +214,7 class JROData:
214 datatime = []
214 datatime = []
215
215
216 datatime.append(self.utctime)
216 datatime.append(self.utctime)
217 datatime.append(self.utctime + 2*self.timeInterval)
217 datatime.append(self.utctime + self.timeInterval)
218
218
219 datatime = numpy.array(datatime)
219 datatime = numpy.array(datatime)
220
220
@@ -825,7 +825,15 class JRODataReader(JRODataIO, ProcessingUnit):
825 def printTotalBlocks(self):
825 def printTotalBlocks(self):
826
826
827 print "Number of read blocks %04d" %self.nTotalBlocks
827 print "Number of read blocks %04d" %self.nTotalBlocks
828
828
829 def printInfo(self):
830
831 print self.basicHeaderObj.printInfo()
832 print self.systemHeaderObj.printInfo()
833 print self.radarControllerHeaderObj.printInfo()
834 print self.processingHeaderObj.printInfo()
835
836
829 def run(self, **kwargs):
837 def run(self, **kwargs):
830
838
831 if not(self.isConfig):
839 if not(self.isConfig):
@@ -1338,7 +1346,38 class VoltageReader(JRODataReader):
1338
1346
1339 if not( self.readNextBlock() ):
1347 if not( self.readNextBlock() ):
1340 return 0
1348 return 0
1349
1350 self.dataOut.dtype = self.dtype
1351
1352 self.dataOut.nProfiles = self.processingHeaderObj.profilesPerBlock
1353
1354 xf = self.processingHeaderObj.firstHeight + self.processingHeaderObj.nHeights*self.processingHeaderObj.deltaHeight
1355
1356 self.dataOut.heightList = numpy.arange(self.processingHeaderObj.firstHeight, xf, self.processingHeaderObj.deltaHeight)
1357
1358 self.dataOut.channelList = range(self.systemHeaderObj.nChannels)
1359
1360 self.dataOut.flagTimeBlock = self.flagTimeBlock
1361
1362 self.dataOut.ippSeconds = self.ippSeconds
1363
1364 self.dataOut.timeInterval = self.ippSeconds * self.processingHeaderObj.nCohInt
1365
1366 self.dataOut.nCohInt = self.processingHeaderObj.nCohInt
1341
1367
1368 self.dataOut.flagShiftFFT = False
1369
1370 if self.processingHeaderObj.code != None:
1371 self.dataOut.nCode = self.processingHeaderObj.nCode
1372
1373 self.dataOut.nBaud = self.processingHeaderObj.nBaud
1374
1375 self.dataOut.code = self.processingHeaderObj.code
1376
1377 self.dataOut.systemHeaderObj = self.systemHeaderObj.copy()
1378
1379 self.dataOut.radarControllerHeaderObj = self.radarControllerHeaderObj.copy()
1380
1342 # self.updateDataHeader()
1381 # self.updateDataHeader()
1343
1382
1344 #data es un numpy array de 3 dmensiones (perfiles, alturas y canales)
1383 #data es un numpy array de 3 dmensiones (perfiles, alturas y canales)
@@ -1349,53 +1388,17 class VoltageReader(JRODataReader):
1349
1388
1350 self.dataOut.data = self.datablock[:,self.profileIndex,:]
1389 self.dataOut.data = self.datablock[:,self.profileIndex,:]
1351
1390
1352 self.dataOut.dtype = self.dtype
1353
1354 # self.dataOut.nChannels = self.systemHeaderObj.nChannels
1355
1356 # self.dataOut.nHeights = self.processingHeaderObj.nHeights
1357
1358 self.dataOut.nProfiles = self.processingHeaderObj.profilesPerBlock
1359
1360 xf = self.processingHeaderObj.firstHeight + self.processingHeaderObj.nHeights*self.processingHeaderObj.deltaHeight
1361
1362 self.dataOut.heightList = numpy.arange(self.processingHeaderObj.firstHeight, xf, self.processingHeaderObj.deltaHeight)
1363
1364 self.dataOut.channelList = range(self.systemHeaderObj.nChannels)
1365
1366 # self.dataOut.channelIndexList = range(self.systemHeaderObj.nChannels)
1367
1368 self.dataOut.flagTimeBlock = self.flagTimeBlock
1369
1370 self.dataOut.utctime = self.basicHeaderObj.utc + self.basicHeaderObj.miliSecond/1000. + self.profileIndex * self.ippSeconds
1391 self.dataOut.utctime = self.basicHeaderObj.utc + self.basicHeaderObj.miliSecond/1000. + self.profileIndex * self.ippSeconds
1371
1392
1372 self.dataOut.ippSeconds = self.ippSeconds
1373
1374 self.dataOut.timeInterval = self.ippSeconds * self.processingHeaderObj.nCohInt
1375
1376 self.dataOut.nCohInt = self.processingHeaderObj.nCohInt
1377
1378 self.dataOut.flagShiftFFT = False
1379
1380 if self.processingHeaderObj.code != None:
1381 self.dataOut.nCode = self.processingHeaderObj.nCode
1382
1383 self.dataOut.nBaud = self.processingHeaderObj.nBaud
1384
1385 self.dataOut.code = self.processingHeaderObj.code
1386
1387 self.profileIndex += 1
1393 self.profileIndex += 1
1388
1394
1389 self.dataOut.systemHeaderObj = self.systemHeaderObj.copy()
1390
1391 self.dataOut.radarControllerHeaderObj = self.radarControllerHeaderObj.copy()
1392
1393 self.dataOut.flagNoData = False
1395 self.dataOut.flagNoData = False
1394
1396
1395 # print self.profileIndex, self.dataOut.utctime
1397 # print self.profileIndex, self.dataOut.utctime
1396 # if self.profileIndex == 800:
1398 # if self.profileIndex == 800:
1397 # a=1
1399 # a=1
1398
1400
1401
1399 return self.dataOut.data
1402 return self.dataOut.data
1400
1403
1401
1404
@@ -20,6 +20,11 class Header:
20
20
21 def write():
21 def write():
22 pass
22 pass
23
24 def printInfo(self):
25
26 for key in self.__dict__.keys():
27 print "%s = %s" %(key, self.__dict__[key])
23
28
24 class BasicHeader(Header):
29 class BasicHeader(Header):
25
30
@@ -576,7 +576,7 class SpectraProc(ProcessingUnit):
576 self.dataOut.nIncohInt = 1
576 self.dataOut.nIncohInt = 1
577 self.dataOut.ippSeconds = self.dataIn.ippSeconds
577 self.dataOut.ippSeconds = self.dataIn.ippSeconds
578
578
579 self.dataOut.timeInterval = self.dataIn.timeInterval*self.dataOut.nFFTPoints*self.dataOut.nCohInt*self.dataOut.nIncohInt
579 self.dataOut.timeInterval = self.dataIn.timeInterval*self.dataOut.nFFTPoints*self.dataOut.nIncohInt
580
580
581 def __getFft(self):
581 def __getFft(self):
582 """
582 """
@@ -587,23 +587,9 class SpectraProc(ProcessingUnit):
587 self.dataOut.data_cspc
587 self.dataOut.data_cspc
588 self.dataOut.data_dc
588 self.dataOut.data_dc
589 self.dataOut.heightList
589 self.dataOut.heightList
590 self.dataOut.m_BasicHeader
591 self.dataOut.m_ProcessingHeader
592 self.dataOut.radarControllerHeaderObj
593 self.dataOut.systemHeaderObj
594 self.profIndex
590 self.profIndex
595 self.buffer
591 self.buffer
596 self.dataOut.flagNoData
592 self.dataOut.flagNoData
597 self.dataOut.dtype
598 self.dataOut.nPairs
599 self.dataOut.nChannels
600 self.dataOut.nProfiles
601 self.dataOut.systemHeaderObj.numChannels
602 self.dataOut.m_ProcessingHeader.totalSpectra
603 self.dataOut.m_ProcessingHeader.profilesPerBlock
604 self.dataOut.m_ProcessingHeader.numHeights
605 self.dataOut.m_ProcessingHeader.spectraComb
606 self.dataOut.m_ProcessingHeader.shif_fft
607 """
593 """
608 fft_volt = numpy.fft.fft(self.buffer,axis=1)
594 fft_volt = numpy.fft.fft(self.buffer,axis=1)
609 dc = fft_volt[:,0,:]
595 dc = fft_volt[:,0,:]
General Comments 0
You need to be logged in to leave comments. Login now