mirror of
https://gitlab.science.ru.nl/mthesis-edeboone/m-thesis-introduction.git
synced 2024-12-22 11:33:32 +01:00
ZH: separate (un)filtered traces when generating beacon
This commit is contained in:
parent
0641048f67
commit
61d777651b
1 changed files with 14 additions and 7 deletions
|
@ -92,7 +92,7 @@ def read_beacon_hdf5(fname, **h5ant_kwargs):
|
||||||
|
|
||||||
return f_beacon, tx, antennas
|
return f_beacon, tx, antennas
|
||||||
|
|
||||||
def Antenna_from_h5ant(h5ant, traces_key='traces', raise_exception=True, read_AxB=True, read_beacon_info=True):
|
def Antenna_from_h5ant(h5ant, traces_key='filtered_traces', raise_exception=True, read_AxB=True, read_beacon_info=True):
|
||||||
mydict = { k:h5ant.attrs.get(k) for k in ['x', 'y', 'z', 'name'] }
|
mydict = { k:h5ant.attrs.get(k) for k in ['x', 'y', 'z', 'name'] }
|
||||||
ant = Antenna(**mydict)
|
ant = Antenna(**mydict)
|
||||||
if h5ant.attrs:
|
if h5ant.attrs:
|
||||||
|
@ -362,6 +362,8 @@ if __name__ == "__main__":
|
||||||
|
|
||||||
# make beacon per antenna
|
# make beacon per antenna
|
||||||
for i, antenna in enumerate(ev.antennas):
|
for i, antenna in enumerate(ev.antennas):
|
||||||
|
#TODO: allow to change the samplerate (2, 4, 8 ns)
|
||||||
|
|
||||||
if i%10 == 0:
|
if i%10 == 0:
|
||||||
print(f"Beaconed antenna {i} out of", len(ev.antennas))
|
print(f"Beaconed antenna {i} out of", len(ev.antennas))
|
||||||
|
|
||||||
|
@ -394,15 +396,20 @@ if __name__ == "__main__":
|
||||||
# Collect all data to be saved (with the first 3 values the E fields)
|
# Collect all data to be saved (with the first 3 values the E fields)
|
||||||
traces = np.array([antenna.Ex, antenna.Ey, antenna.Ez, beacon, noise_realisation])
|
traces = np.array([antenna.Ex, antenna.Ey, antenna.Ez, beacon, noise_realisation])
|
||||||
|
|
||||||
# add to relevant polarisation
|
# add beacon and noise to relevant polarisations
|
||||||
# and apply block filter
|
|
||||||
dt = antenna.t[1] - antenna.t[0]
|
|
||||||
for j, amp in enumerate(beacon_amplitudes):
|
for j, amp in enumerate(beacon_amplitudes):
|
||||||
traces[j] = block_filter(traces[j] + amp*beacon + noise_realisation, dt, low_bp, high_bp)
|
traces[j] = traces[j] + amp*beacon + noise_realisation
|
||||||
|
|
||||||
append_antenna_hdf5( antennas_fname, antenna, traces, name='traces', prepend_time=True)
|
append_antenna_hdf5( antennas_fname, antenna, traces, name='raw_traces', prepend_time=True)
|
||||||
|
|
||||||
# Save E field in E_AxB
|
# .. and apply block_filter to every trace
|
||||||
|
dt = antenna.t[1] - antenna.t[0]
|
||||||
|
for j in range(len(traces)):
|
||||||
|
traces[j] = block_filter(traces[j], dt, low_bp, high_bp)
|
||||||
|
|
||||||
|
append_antenna_hdf5( antennas_fname, antenna, traces, name='filtered_traces', prepend_time=True)
|
||||||
|
|
||||||
|
# Save filtered E field in E_AxB
|
||||||
E_AxB = [np.dot(ev.uAxB,[ex,ey,ez]) for ex,ey,ez in zip(traces[0], traces[1], traces[2])]
|
E_AxB = [np.dot(ev.uAxB,[ex,ey,ez]) for ex,ey,ez in zip(traces[0], traces[1], traces[2])]
|
||||||
t_AxB = antenna.t
|
t_AxB = antenna.t
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue