Data format » History » Version 5
Anonymous, 03/05/2020 03:26 PM
1 | 1 | Anonymous | h1. Data format |
---|---|---|---|
2 | |||
3 | 3 | Anonymous | La fonction de lecture des données est la suivantes, pour un fichier: |
4 | |||
5 | 1 | Anonymous | <pre><code class="python"> |
6 | def readFileADLINKCh0( filename, samplesPerFile, timeSerie_A ): |
||
7 | fd = open(filename,'rb') |
||
8 | |||
9 | dum = np.fromfile(fd, dtype = np.uint16) |
||
10 | |||
11 | timeSerie_A[:] = dum[:] |
||
12 | |||
13 | fd.close() |
||
14 | </code></pre> |
||
15 | 3 | Anonymous | |
16 | On fait une boucle pour lire tous les fichiers et créer un grand vecteur: |
||
17 | 1 | Anonymous | |
18 | <pre><code class="python"> |
||
19 | 4 | Anonymous | timeSerie_A = np.zeros( samplesPerFile ) |
20 | adc_A = np.zeros( (nbFiles, samplesPerFile) ) |
||
21 | 1 | Anonymous | lastBuffer = (nbFiles-1) * buffersPerFile + firstBuffer |
22 | for k in range( nbFiles ): |
||
23 | |||
24 | # read the data |
||
25 | nb = str( int( k * buffersPerFile + firstBuffer) ) |
||
26 | filename = data_dir + "/record" + nb + ".bin" |
||
27 | readFileADLINKCh0( filename, samplesPerFile, timeSerie_A ) |
||
28 | |||
29 | print("k = {}, block = {} / {}".format(k, nb, lastBuffer)) |
||
30 | |||
31 | adc_A[ k, : ] = (timeSerie_A + offset) * scalingFactor |
||
32 | </code></pre> |
||
33 | 2 | Anonymous | |
34 | Les données étant lues, on remet en forme le vecteur pour ne garder que le signal correspondant aux rampes montantes: |
||
35 | |||
36 | <pre><code class="python"> |
||
37 | A_reshaped = adc_A.reshape(nbFiles * rampsPerFile, samplesPerRamp) |
||
38 | </code></pre> |
||
39 | 5 | Anonymous | |
40 | NB: dans l'exemple 2019_07_12_14_12_21, les paramètres sont les suivants: |
||
41 | |||
42 | <pre><code class="xml"> |
||
43 | <?xml version="1.0" encoding="UTF-8"?> |
||
44 | <posarmc version="2.0"> |
||
45 | <posarV2> |
||
46 | <rampsPerBuffer value="500" units="-"/> |
||
47 | <bufferSize value="20000000" units="byte"/> |
||
48 | <buffersPerFile value="2" units="byte"/> |
||
49 | <rampsPerFile value="1000" units="-"/> |
||
50 | <fileSize value="4e+7" units="byte"/> |
||
51 | <samplingFrequency value="2e+7" units="Hz"/> |
||
52 | <samplesPerRamp value="20000" units="-"/> |
||
53 | <skipNSamples value="0" units="-"/> |
||
54 | <rampPeriod value="1000" units="-"/> |
||
55 | <startFrequency value="9800" units="-"/> |
||
56 | <stopFrequency value="10100" units="-"/> |
||
57 | </posarV2> |
||
58 | </posarmc> |
||
59 | </code></pre> |