@@ -13,7 +13,7 sys.path.append(path) | |||
|
13 | 13 | |
|
14 | 14 | from Data.JROData import SpectraHeis |
|
15 | 15 | from IO.SpectraIO import SpectraWriter |
|
16 |
|
|
|
16 | from Graphics.schainPlotTypes import ScopeFigure, SpcFigure | |
|
17 | 17 | #from JRONoise import Noise |
|
18 | 18 | |
|
19 | 19 | class SpectraProcessor: |
@@ -292,10 +292,10 class SpectraHeisProcessor: | |||
|
292 | 292 | |
|
293 | 293 | self.integratorObjIndex = None |
|
294 | 294 | self.writerObjIndex = None |
|
295 |
self.plot |
|
|
295 | self.plotObjIndex = None | |
|
296 | 296 | self.integratorObjList = [] |
|
297 | 297 | self.writerObjList = [] |
|
298 |
self.plot |
|
|
298 | self.plotObjList = [] | |
|
299 | 299 | #self.noiseObj = Noise() |
|
300 | 300 | |
|
301 | 301 | def setup(self, dataInObj, dataOutObj=None, nFFTPoints=None, pairList=None): |
@@ -309,80 +309,17 class SpectraHeisProcessor: | |||
|
309 | 309 | dataOutObj = SpectraHeis() |
|
310 | 310 | |
|
311 | 311 | self.dataOutObj = dataOutObj |
|
312 | # self.noiseObj = Noise() | |
|
313 | ||
|
314 | ########################################## | |
|
315 | self.nFFTPoints = nFFTPoints | |
|
316 | self.nChannels = self.dataInObj.nChannels | |
|
317 | self.nHeights = self.dataInObj.nHeights | |
|
318 | self.pairList = pairList | |
|
319 | ||
|
320 | if pairList != None: | |
|
321 | self.nPairs = len(pairList) | |
|
322 | else: | |
|
323 | self.nPairs = 0 | |
|
324 | ||
|
325 | self.dataOutObj.radarControllerHeaderObj = self.dataInObj.radarControllerHeaderObj.copy() | |
|
326 | self.dataOutObj.systemHeaderObj = self.dataInObj.systemHeaderObj.copy() | |
|
327 | ||
|
328 | self.dataOutObj.type = "SpectraHeis" | |
|
329 | ||
|
330 | self.dataOutObj.dtype = self.dataInObj.dtype | |
|
331 | ||
|
332 | self.dataOutObj.nChannels = self.nChannels | |
|
333 | ||
|
334 | self.dataOutObj.nHeights = self.nHeights | |
|
335 | ||
|
336 | self.dataOutObj.nProfiles = self.nFFTPoints | |
|
337 | ||
|
338 | self.dataOutObj.heightList = None | |
|
339 | ||
|
340 | self.dataOutObj.channelList = None | |
|
341 | ||
|
342 | self.dataOutObj.channelIndexList = None | |
|
343 | ||
|
344 | self.dataOutObj.flagNoData = False | |
|
345 | ||
|
346 | self.dataOutObj.flagTimeBlock = False | |
|
347 | ||
|
348 | self.dataOutObj.dataUtcTime = None | |
|
349 | ||
|
350 | self.dataOutObj.nCode = None | |
|
351 | ||
|
352 | self.dataOutObj.nBaud = None | |
|
353 | ||
|
354 | self.dataOutObj.code = None | |
|
355 | ||
|
356 | self.dataOutObj.flagDecodeData = True #asumo q la data esta decodificada | |
|
357 | ||
|
358 | self.dataOutObj.flagDeflipData = True #asumo q la data esta sin flip | |
|
359 | ||
|
360 | self.dataOutObj.flagShiftFFT = False | |
|
361 | ||
|
362 | self.dataOutObj.ippSeconds = None | |
|
363 | ||
|
364 | self.dataOutObjdata_spc = None | |
|
365 | ||
|
366 | self.dataOutObjdata_cspc = None | |
|
367 | ||
|
368 | self.dataOutObjdata_dc = None | |
|
369 | ||
|
370 | self.dataOutObjnFFTPoints = None | |
|
371 | ||
|
372 | self.dataOutObjnPairs = None | |
|
373 | ||
|
374 | self.dataOutObjpairsList = None | |
|
375 | ||
|
376 | 312 | |
|
377 | 313 | return self.dataOutObj |
|
378 | 314 | |
|
379 | 315 | def init(self): |
|
380 | 316 | self.integratorObjIndex = 0 |
|
381 | 317 | self.writerObjIndex = 0 |
|
382 |
self.plot |
|
|
318 | self.plotObjIndex = 0 | |
|
383 | 319 | |
|
384 | 320 | if self.dataInObj.type == "Voltage": |
|
385 | 321 | self.__getFft() |
|
322 | self.__updateFromObj() | |
|
386 | 323 | self.dataOutObj.flagNoData = False |
|
387 | 324 | return |
|
388 | 325 | |
@@ -394,6 +331,28 class SpectraHeisProcessor: | |||
|
394 | 331 | |
|
395 | 332 | raise ValueError, "The type is not valid" |
|
396 | 333 | |
|
334 | def __updateFromObj(self): | |
|
335 | self.dataOutObj.radarControllerHeaderObj = self.dataInObj.radarControllerHeaderObj.copy() | |
|
336 | self.dataOutObj.systemHeaderObj = self.dataInObj.systemHeaderObj.copy() | |
|
337 | self.dataOutObj.channelList = self.dataInObj.channelList | |
|
338 | self.dataOutObj.heightList = self.dataInObj.heightList | |
|
339 | self.dataOutObj.dtype = self.dataInObj.dtype | |
|
340 | self.dataOutObj.nHeights = self.dataInObj.nHeights | |
|
341 | self.dataOutObj.nChannels = self.dataInObj.nChannels | |
|
342 | self.dataOutObj.nBaud = self.dataInObj.nBaud | |
|
343 | self.dataOutObj.nCode = self.dataInObj.nCode | |
|
344 | self.dataOutObj.code = self.dataInObj.code | |
|
345 | self.dataOutObj.nProfiles = 1 | |
|
346 | self.dataOutObj.nFFTPoints = self.dataInObj.nHeights | |
|
347 | self.dataOutObj.channelIndexList = self.dataInObj.channelIndexList | |
|
348 | self.dataOutObj.flagNoData = self.dataInObj.flagNoData | |
|
349 | self.dataOutObj.flagTimeBlock = self.dataInObj.flagTimeBlock | |
|
350 | self.dataOutObj.dataUtcTime = self.dataInObj.dataUtcTime | |
|
351 | self.dataOutObj.flagDecodeData = self.dataInObj.flagDecodeData #asumo q la data esta decodificada | |
|
352 | self.dataOutObj.flagDeflipData = self.dataInObj.flagDeflipData #asumo q la data esta sin flip | |
|
353 | self.dataOutObj.flagShiftFFT = self.dataInObj.flagShiftFFT | |
|
354 | self.dataOutObj.nIncohInt = 1 | |
|
355 | ||
|
397 | 356 | def __getFft(self): |
|
398 | 357 | if self.dataInObj.flagNoData: |
|
399 | 358 | return 0 |
@@ -405,7 +364,6 class SpectraHeisProcessor: | |||
|
405 | 364 | |
|
406 | 365 | spc = numpy.abs(fft_volt * numpy.conjugate(fft_volt)) |
|
407 | 366 | self.dataOutObj.data_spc = spc |
|
408 | #print spc | |
|
409 | 367 | |
|
410 | 368 | def getSpectra(self): |
|
411 | 369 | |
@@ -428,13 +386,11 class SpectraHeisProcessor: | |||
|
428 | 386 | self.addIntegrator(N,timeInterval) |
|
429 | 387 | |
|
430 | 388 | myIncohIntObj = self.integratorObjList[self.integratorObjIndex] |
|
431 |
myIncohIntObj.exe(data=self.dataOutObj.data_spc,timeOfData=self.dataOutObj. |
|
|
389 | myIncohIntObj.exe(data=self.dataOutObj.data_spc,timeOfData=self.dataOutObj.dataUtcTime) | |
|
432 | 390 | |
|
433 | 391 | if myIncohIntObj.isReady: |
|
434 | 392 | self.dataOutObj.data_spc = myIncohIntObj.data |
|
435 |
self.dataOutObj.n |
|
|
436 | self.dataOutObj.m_ProcessingHeader.incoherentInt *= myIncohIntObj.navg | |
|
437 | #print "myIncohIntObj.navg: ",myIncohIntObj.navg | |
|
393 | self.dataOutObj.nIncohInt = self.dataOutObj.nIncohInt*myIncohIntObj.navg | |
|
438 | 394 | self.dataOutObj.flagNoData = False |
|
439 | 395 | |
|
440 | 396 | #self.getNoise(type="hildebrand",parm=myIncohIntObj.navg) |
@@ -446,6 +402,61 class SpectraHeisProcessor: | |||
|
446 | 402 | self.integratorObjIndex += 1 |
|
447 | 403 | |
|
448 | 404 | |
|
405 | def addScope(self, idfigure, nframes, wintitle, driver): | |
|
406 | if idfigure==None: | |
|
407 | idfigure = self.plotObjIndex | |
|
408 | ||
|
409 | scopeObj = ScopeFigure(idfigure, nframes, wintitle, driver) | |
|
410 | self.plotObjList.append(scopeObj) | |
|
411 | ||
|
412 | def plotScope(self, | |
|
413 | idfigure=None, | |
|
414 | minvalue=None, | |
|
415 | maxvalue=None, | |
|
416 | xmin=None, | |
|
417 | xmax=None, | |
|
418 | wintitle='', | |
|
419 | driver='plplot', | |
|
420 | save=False, | |
|
421 | gpath=None, | |
|
422 | titleList=None, | |
|
423 | xlabelList=None, | |
|
424 | ylabelList=None): | |
|
425 | ||
|
426 | if self.dataOutObj.flagNoData: | |
|
427 | return 0 | |
|
428 | ||
|
429 | nframes = len(self.dataOutObj.channelList) | |
|
430 | ||
|
431 | if len(self.plotObjList) <= self.plotObjIndex: | |
|
432 | self.addScope(idfigure, nframes, wintitle, driver) | |
|
433 | ||
|
434 | ||
|
435 | data1D = self.dataOutObj.data_spc | |
|
436 | ||
|
437 | x = numpy.arange(self.dataOutObj.nHeights) | |
|
438 | ||
|
439 | thisDatetime = datetime.datetime.fromtimestamp(self.dataOutObj.dataUtcTime) | |
|
440 | ||
|
441 | dateTime = "%s"%(thisDatetime.strftime("%d-%b-%Y %H:%M:%S")) | |
|
442 | date = "%s"%(thisDatetime.strftime("%d-%b-%Y")) | |
|
443 | ||
|
444 | figureTitle = "Scope Plot Radar Data: " + date | |
|
445 | ||
|
446 | plotObj = self.plotObjList[self.plotObjIndex] | |
|
447 | ||
|
448 | plotObj.plot1DArray(data1D, | |
|
449 | x, | |
|
450 | self.dataOutObj.channelList, | |
|
451 | xmin, | |
|
452 | xmax, | |
|
453 | minvalue, | |
|
454 | maxvalue, | |
|
455 | figureTitle, | |
|
456 | save, | |
|
457 | gpath) | |
|
458 | ||
|
459 | self.plotObjIndex += 1 | |
|
449 | 460 | |
|
450 | 461 | class IncoherentIntegration: |
|
451 | 462 |
General Comments 0
You need to be logged in to leave comments.
Login now