@@ -11,7 +11,7 class Data: | |||
|
11 | 11 | ''' |
|
12 | 12 | classdocs |
|
13 | 13 | ''' |
|
14 |
|
|
|
14 | type = None | |
|
15 | 15 | |
|
16 | 16 | def __init__(self): |
|
17 | 17 | ''' |
@@ -50,7 +50,7 class JROData(Data): | |||
|
50 | 50 | m_ProcessingHeader = ProcessingHeader() |
|
51 | 51 | m_SystemHeader = SystemHeader() |
|
52 | 52 | m_BasicHeader = BasicHeader() |
|
53 | m_Noise = Noise() | |
|
53 | m_NoiseObj = Noise() | |
|
54 | 54 | |
|
55 | 55 | data = None |
|
56 | 56 | dataType = None |
@@ -56,16 +56,18 class BasicHeader(Header): | |||
|
56 | 56 | pass |
|
57 | 57 | |
|
58 | 58 | def read(self, fp): |
|
59 | ||
|
60 | header = numpy.fromfile(fp, self.struct,1) | |
|
61 | self.size = header['nSize'][0] | |
|
62 | self.version = header['nVersion'][0] | |
|
63 | self.dataBlock = header['nDataBlockId'][0] | |
|
64 | self.utc = header['nUtime'][0] | |
|
65 | self.miliSecond = header['nMilsec'][0] | |
|
66 | self.timeZone = header['nTimezone'][0] | |
|
67 | self.dstFlag = header['nDstflag'][0] | |
|
68 | self.errorCount = header['nErrorCount'][0] | |
|
59 | try: | |
|
60 | header = numpy.fromfile(fp, self.struct,1) | |
|
61 | self.size = header['nSize'][0] | |
|
62 | self.version = header['nVersion'][0] | |
|
63 | self.dataBlock = header['nDataBlockId'][0] | |
|
64 | self.utc = header['nUtime'][0] | |
|
65 | self.miliSecond = header['nMilsec'][0] | |
|
66 | self.timeZone = header['nTimezone'][0] | |
|
67 | self.dstFlag = header['nDstflag'][0] | |
|
68 | self.errorCount = header['nErrorCount'][0] | |
|
69 | except: | |
|
70 | return 0 | |
|
69 | 71 | |
|
70 | 72 | return 1 |
|
71 | 73 | |
@@ -104,14 +106,16 class SystemHeader(Header): | |||
|
104 | 106 | |
|
105 | 107 | |
|
106 | 108 | def read(self, fp): |
|
107 | header = numpy.fromfile(fp,self.struct,1) | |
|
108 | self.size = header['nSize'][0] | |
|
109 |
self. |
|
|
110 |
self.num |
|
|
111 |
self.num |
|
|
112 |
self. |
|
|
113 |
self. |
|
|
114 | ||
|
109 | try: | |
|
110 | header = numpy.fromfile(fp,self.struct,1) | |
|
111 | self.size = header['nSize'][0] | |
|
112 | self.numSamples = header['nNumSamples'][0] | |
|
113 | self.numProfiles = header['nNumProfiles'][0] | |
|
114 | self.numChannels = header['nNumChannels'][0] | |
|
115 | self.adcResolution = header['nADCResolution'][0] | |
|
116 | self.pciDioBusWidth = header['nPCDIOBusWidth'][0] | |
|
117 | except: | |
|
118 | return 0 | |
|
115 | 119 | |
|
116 | 120 | return 1 |
|
117 | 121 | |
@@ -184,27 +188,30 class RadarControllerHeader(Header): | |||
|
184 | 188 | |
|
185 | 189 | |
|
186 | 190 | def read(self, fp): |
|
187 | header = numpy.fromfile(fp,self.struct,1) | |
|
188 | self.size = header['nSize'][0] | |
|
189 |
self. |
|
|
190 |
self. |
|
|
191 |
self. |
|
|
192 |
self. |
|
|
193 |
self.tx |
|
|
194 |
self. |
|
|
195 |
self.num |
|
|
196 |
self. |
|
|
197 |
self. |
|
|
198 |
self.line |
|
|
199 |
self. |
|
|
200 |
self. |
|
|
201 |
self.prePulse |
|
|
202 |
self. |
|
|
203 |
self.range |
|
|
204 |
self.rangeTx |
|
|
205 | # jump Dynamic Radar Controller Header | |
|
206 | jumpHeader = self.size - 116 | |
|
207 | self.dynamic = numpy.fromfile(fp,numpy.dtype('byte'),jumpHeader) | |
|
191 | try: | |
|
192 | header = numpy.fromfile(fp,self.struct,1) | |
|
193 | self.size = header['nSize'][0] | |
|
194 | self.expType = header['nExpType'][0] | |
|
195 | self.nTx = header['nNTx'][0] | |
|
196 | self.ipp = header['fIpp'][0] | |
|
197 | self.txA = header['fTxA'][0] | |
|
198 | self.txB = header['fTxB'][0] | |
|
199 | self.numWindows = header['nNumWindows'][0] | |
|
200 | self.numTaus = header['nNumTaus'][0] | |
|
201 | self.codeType = header['nCodeType'][0] | |
|
202 | self.line6Function = header['nLine6Function'][0] | |
|
203 | self.line5Function = header['nLine5Function'][0] | |
|
204 | self.fClock = header['fClock'][0] | |
|
205 | self.prePulseBefore = header['nPrePulseBefore'][0] | |
|
206 | self.prePulserAfter = header['nPrePulseAfter'][0] | |
|
207 | self.rangeIpp = header['sRangeIPP'][0] | |
|
208 | self.rangeTxA = header['sRangeTxA'][0] | |
|
209 | self.rangeTxB = header['sRangeTxB'][0] | |
|
210 | # jump Dynamic Radar Controller Header | |
|
211 | jumpHeader = self.size - 116 | |
|
212 | self.dynamic = numpy.fromfile(fp,numpy.dtype('byte'),jumpHeader) | |
|
213 | except: | |
|
214 | return 0 | |
|
208 | 215 | |
|
209 | 216 | return 1 |
|
210 | 217 | |
@@ -287,34 +294,36 class ProcessingHeader(Header): | |||
|
287 | 294 | self.shif_fft = False |
|
288 | 295 | |
|
289 | 296 | def read(self, fp): |
|
290 | header = numpy.fromfile(fp,self.struct,1) | |
|
291 | self.size = header['nSize'][0] | |
|
292 |
self. |
|
|
293 |
self. |
|
|
294 |
self. |
|
|
295 |
self. |
|
|
296 | self.numWindows = header['nNumWindows'][0] | |
|
297 | self.processFlags = header['nProcessFlags'] | |
|
298 | self.coherentInt = header['nCoherentIntegrations'][0] | |
|
299 |
self. |
|
|
300 |
self. |
|
|
301 | self.samplingWindow = numpy.fromfile(fp,self.structSamplingWindow,self.numWindows) | |
|
302 | self.numHeights = numpy.sum(self.samplingWindow['nsa']) | |
|
303 |
self. |
|
|
304 |
self. |
|
|
305 |
self. |
|
|
306 | self.spectraComb = numpy.fromfile(fp,'u1',2*self.totalSpectra) | |
|
307 | ||
|
308 | if self.processFlags & PROCFLAG.DEFINE_PROCESS_CODE == PROCFLAG.DEFINE_PROCESS_CODE: | |
|
309 | self.numCode = numpy.fromfile(fp,'<u4',1) | |
|
310 |
self.num |
|
|
311 | self.codes = numpy.fromfile(fp,'<f4',self.numCode*self.numBaud).reshape(self.numBaud,self.numCode) | |
|
312 | ||
|
313 | if self.processFlags & PROCFLAG.SHIFT_FFT_DATA == PROCFLAG.SHIFT_FFT_DATA: | |
|
314 | self.shif_fft = True | |
|
315 | else: | |
|
316 | self.shif_fft = False | |
|
297 | try: | |
|
298 | header = numpy.fromfile(fp,self.struct,1) | |
|
299 | self.size = header['nSize'][0] | |
|
300 | self.dataType = header['nDataType'][0] | |
|
301 | self.blockSize = header['nSizeOfDataBlock'][0] | |
|
302 | self.profilesPerBlock = header['nProfilesperBlock'][0] | |
|
303 | self.dataBlocksPerFile = header['nDataBlocksperFile'][0] | |
|
304 | self.numWindows = header['nNumWindows'][0] | |
|
305 | self.processFlags = header['nProcessFlags'] | |
|
306 | self.coherentInt = header['nCoherentIntegrations'][0] | |
|
307 | self.incoherentInt = header['nIncoherentIntegrations'][0] | |
|
308 | self.totalSpectra = header['nTotalSpectra'][0] | |
|
309 | self.samplingWindow = numpy.fromfile(fp,self.structSamplingWindow,self.numWindows) | |
|
310 | self.numHeights = numpy.sum(self.samplingWindow['nsa']) | |
|
311 | self.firstHeight = self.samplingWindow['h0'] | |
|
312 | self.deltaHeight = self.samplingWindow['dh'] | |
|
313 | self.samplesWin = self.samplingWindow['nsa'] | |
|
314 | self.spectraComb = numpy.fromfile(fp,'u1',2*self.totalSpectra) | |
|
315 | ||
|
316 | if self.processFlags & PROCFLAG.DEFINE_PROCESS_CODE == PROCFLAG.DEFINE_PROCESS_CODE: | |
|
317 | self.numCode = numpy.fromfile(fp,'<u4',1) | |
|
318 | self.numBaud = numpy.fromfile(fp,'<u4',1) | |
|
319 | self.codes = numpy.fromfile(fp,'<f4',self.numCode*self.numBaud).reshape(self.numBaud,self.numCode) | |
|
317 | 320 | |
|
321 | if self.processFlags & PROCFLAG.SHIFT_FFT_DATA == PROCFLAG.SHIFT_FFT_DATA: | |
|
322 | self.shif_fft = True | |
|
323 | else: | |
|
324 | self.shif_fft = False | |
|
325 | except: | |
|
326 | return 0 | |
|
318 | 327 | |
|
319 | 328 | return 1 |
|
320 | 329 |
@@ -13,6 +13,7 class Spectra(JROData): | |||
|
13 | 13 | classdocs |
|
14 | 14 | ''' |
|
15 | 15 | |
|
16 | type = "Spectra" | |
|
16 | 17 | data_spc = None |
|
17 | 18 | data_cspc = None |
|
18 | 19 | data_dc = None |
@@ -32,11 +33,13 class Spectra(JROData): | |||
|
32 | 33 | |
|
33 | 34 | self.m_BasicHeader = BasicHeader() |
|
34 | 35 | |
|
35 |
|
|
|
36 | m_NoiseObj = Noise() | |
|
36 | 37 | |
|
37 | 38 | #data es un numpy array de 3 dmensiones (perfiles, alturas y canales) |
|
38 | 39 | self.data_spc = None |
|
40 | ||
|
39 | 41 | self.data_cspc = None |
|
42 | ||
|
40 | 43 | self.data_dc = None |
|
41 | 44 | |
|
42 | 45 | self.heights = None |
@@ -13,6 +13,7 class Voltage(JROData): | |||
|
13 | 13 | classdocs |
|
14 | 14 | ''' |
|
15 | 15 | |
|
16 | type = "Voltage" | |
|
16 | 17 | data = None |
|
17 | 18 | profileIndex = None |
|
18 | 19 | |
@@ -29,7 +30,7 class Voltage(JROData): | |||
|
29 | 30 | |
|
30 | 31 | self.m_BasicHeader= BasicHeader() |
|
31 | 32 | |
|
32 |
|
|
|
33 | m_NoiseObj = Noise() | |
|
33 | 34 | |
|
34 | 35 | #data es un numpy array de 3 dmensiones (perfiles, alturas y canales) |
|
35 | 36 | self.data = None |
General Comments 0
You need to be logged in to leave comments.
Login now