mirror of
https://gitlab.science.ru.nl/mthesis-edeboone/m-thesis-introduction.git
synced 2024-11-13 10:03:32 +01:00
ZH: rename ant_group variables to h5ant
To better distinghuish whether this is an Antenna or a H5Group.
This commit is contained in:
parent
e57403e765
commit
dd9630f346
3 changed files with 37 additions and 32 deletions
|
@ -115,25 +115,25 @@ def append_antenna_hdf5(fname, antenna, columns = [], name='traces', prepend_tim
|
||||||
if antenna.name in group:
|
if antenna.name in group:
|
||||||
if not overwrite:
|
if not overwrite:
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
ant_group = group[antenna.name]
|
h5ant = group[antenna.name]
|
||||||
else:
|
else:
|
||||||
ant_group = group.create_group(antenna.name)
|
h5ant = group.create_group(antenna.name)
|
||||||
|
|
||||||
ant_attrs = ant_group.attrs
|
h5ant_attrs = h5ant.attrs
|
||||||
ant_attrs['x'] = antenna.x
|
h5ant_attrs['x'] = antenna.x
|
||||||
ant_attrs['y'] = antenna.y
|
h5ant_attrs['y'] = antenna.y
|
||||||
ant_attrs['z'] = antenna.z
|
h5ant_attrs['z'] = antenna.z
|
||||||
ant_attrs['name'] = antenna.name
|
h5ant_attrs['name'] = antenna.name
|
||||||
|
|
||||||
for k,v in attrs_dict.items():
|
for k,v in attrs_dict.items():
|
||||||
ant_attrs[k] = v
|
h5ant_attrs[k] = v
|
||||||
|
|
||||||
if name in ant_group:
|
if name in h5ant:
|
||||||
if not overwrite:
|
if not overwrite:
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
del ant_group[name]
|
del h5ant[name]
|
||||||
|
|
||||||
dset = ant_group.create_dataset(name, (len(columns) + 1*prepend_time, len(columns[0])), dtype='f')
|
dset = h5ant.create_dataset(name, (len(columns) + 1*prepend_time, len(columns[0])), dtype='f')
|
||||||
|
|
||||||
if prepend_time:
|
if prepend_time:
|
||||||
dset[0] = antenna.t
|
dset[0] = antenna.t
|
||||||
|
|
|
@ -13,11 +13,11 @@ import os.path as path
|
||||||
|
|
||||||
from copy import deepcopy as copy
|
from copy import deepcopy as copy
|
||||||
|
|
||||||
from earsim import REvent, Antenna
|
|
||||||
|
|
||||||
import aa_generate_beacon as beacon
|
import aa_generate_beacon as beacon
|
||||||
|
|
||||||
import lib
|
import lib
|
||||||
|
from lib.earsim import REvent, Antenna
|
||||||
|
|
||||||
|
|
||||||
clocks_fname = 'clocks.csv'
|
clocks_fname = 'clocks.csv'
|
||||||
|
|
||||||
|
@ -62,24 +62,24 @@ if __name__ == "__main__":
|
||||||
|
|
||||||
# modify time values of each antenna
|
# modify time values of each antenna
|
||||||
for i, name in enumerate(group.keys()):
|
for i, name in enumerate(group.keys()):
|
||||||
ant_group = group[name]
|
h5ant = group[name]
|
||||||
clk_offset = clock_offsets[i]
|
clk_offset = clock_offsets[i]
|
||||||
|
|
||||||
if 'traces' not in ant_group.keys():
|
if 'traces' not in h5ant.keys():
|
||||||
print(f"Antenna file corrupted? no 'traces' in {name}")
|
print(f"Antenna file corrupted? no 'traces' in {name}")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
ant_attrs = ant_group.attrs
|
h5ant_attrs = h5ant.attrs
|
||||||
if 'clock_offset' in ant_attrs:
|
if 'clock_offset' in h5ant_attrs:
|
||||||
tmp_offset = ant_attrs['clock_offset']
|
tmp_offset = h5ant_attrs['clock_offset']
|
||||||
if remake_clock_offsets:
|
if remake_clock_offsets:
|
||||||
ant_group['traces'][0, :] -= tmp_offset
|
h5ant['traces'][0, :] -= tmp_offset
|
||||||
else:
|
else:
|
||||||
clock_offsets[i] = tmp_offset
|
clock_offsets[i] = tmp_offset
|
||||||
continue
|
continue
|
||||||
|
|
||||||
ant_attrs['clock_offset'] = clk_offset
|
h5ant_attrs['clock_offset'] = clk_offset
|
||||||
ant_group['traces'][0, :] += clk_offset
|
h5ant['traces'][0, :] += clk_offset
|
||||||
|
|
||||||
# save to simple csv
|
# save to simple csv
|
||||||
np.savetxt(clocks_fname, clock_offsets)
|
np.savetxt(clocks_fname, clock_offsets)
|
||||||
|
|
|
@ -1,6 +1,11 @@
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# vim: fdm=indent ts=4
|
# vim: fdm=indent ts=4
|
||||||
|
|
||||||
|
"""
|
||||||
|
Find beacon phases in antenna traces
|
||||||
|
And save these to a file
|
||||||
|
"""
|
||||||
|
|
||||||
import h5py
|
import h5py
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
@ -60,15 +65,15 @@ if __name__ == "__main__":
|
||||||
|
|
||||||
# Determine frequency and phase
|
# Determine frequency and phase
|
||||||
for i, name in enumerate(group.keys()):
|
for i, name in enumerate(group.keys()):
|
||||||
ant_group = group[name]
|
h5ant = group[name]
|
||||||
|
|
||||||
# use E_AxB only instead of polarisations
|
# use E_AxB only instead of polarisations
|
||||||
if True:
|
if True:
|
||||||
if 'E_AxB' not in ant_group.keys():
|
if 'E_AxB' not in h5ant.keys():
|
||||||
print(f"Antenna does not have 'E_AxB' in {name}")
|
print(f"Antenna does not have 'E_AxB' in {name}")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
traces = ant_group['E_AxB']
|
traces = h5ant['E_AxB']
|
||||||
|
|
||||||
t_trace = traces[0]
|
t_trace = traces[0]
|
||||||
test_traces = [ traces[1] ]
|
test_traces = [ traces[1] ]
|
||||||
|
@ -76,11 +81,11 @@ if __name__ == "__main__":
|
||||||
|
|
||||||
# use separate polarisations
|
# use separate polarisations
|
||||||
else:
|
else:
|
||||||
if 'traces' not in ant_group.keys():
|
if 'traces' not in h5ant.keys():
|
||||||
print(f"Antenna file corrupted? no 'traces' in {name}")
|
print(f"Antenna file corrupted? no 'traces' in {name}")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
traces = ant_group['traces']
|
traces = h5ant['traces']
|
||||||
t_trace = traces[0]
|
t_trace = traces[0]
|
||||||
|
|
||||||
if True:
|
if True:
|
||||||
|
@ -103,7 +108,7 @@ if __name__ == "__main__":
|
||||||
else:
|
else:
|
||||||
# Testing
|
# Testing
|
||||||
freqs = [f_beacon]
|
freqs = [f_beacon]
|
||||||
t0 = ant_group.attrs['t0']
|
t0 = h5ant.attrs['t0']
|
||||||
|
|
||||||
phases = [ 2*np.pi*t0*f_beacon ]
|
phases = [ 2*np.pi*t0*f_beacon ]
|
||||||
amps = [ 3e-7 ]
|
amps = [ 3e-7 ]
|
||||||
|
@ -126,13 +131,13 @@ if __name__ == "__main__":
|
||||||
myt = np.linspace(min(traces[0]), max(traces[0]), 10*len(traces[0]))
|
myt = np.linspace(min(traces[0]), max(traces[0]), 10*len(traces[0]))
|
||||||
ax.plot(t_trace, traces[-1], marker='.', label='trace')
|
ax.plot(t_trace, traces[-1], marker='.', label='trace')
|
||||||
ax.plot(myt, lib.sine_beacon(frequency, myt, amplitude=amplitude, phase=phase), ls='dashed', label='simulated')
|
ax.plot(myt, lib.sine_beacon(frequency, myt, amplitude=amplitude, phase=phase), ls='dashed', label='simulated')
|
||||||
ax.set_title(f"Beacon at antenna {ant_group}\nF:{frequency}, P:{phase}, A:{amplitude}")
|
ax.set_title(f"Beacon at antenna {h5ant}\nF:{frequency}, P:{phase}, A:{amplitude}")
|
||||||
ax.legend()
|
ax.legend()
|
||||||
|
|
||||||
ant_group.attrs['beacon_freq'] = frequency
|
h5ant_group.attrs['beacon_freq'] = frequency
|
||||||
ant_group.attrs['beacon_phase_measured'] = phase
|
h5ant_group.attrs['beacon_phase_measured'] = phase
|
||||||
ant_group.attrs['beacon_amplitude'] = amplitude
|
h5ant_group.attrs['beacon_amplitude'] = amplitude
|
||||||
ant_group.attrs['beacon_orientation'] = orientation
|
h5ant_group.attrs['beacon_orientation'] = orientation
|
||||||
|
|
||||||
found_data[i] = frequency, phase, amplitude
|
found_data[i] = frequency, phase, amplitude
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue