mirror of
https://gitlab.science.ru.nl/mthesis-edeboone/m-thesis-introduction.git
synced 2024-12-22 11:33:32 +01:00
ZH: plot showing (measured-actual) residuals for true_phases
This commit is contained in:
parent
929c6c7748
commit
429e2fff1d
1 changed files with 43 additions and 3 deletions
|
@ -80,7 +80,7 @@ if __name__ == "__main__":
|
||||||
# Plot True Phases at their locations
|
# Plot True Phases at their locations
|
||||||
if show_plots or fig_dir:
|
if show_plots or fig_dir:
|
||||||
fig, ax = plt.subplots()
|
fig, ax = plt.subplots()
|
||||||
spatial_unit=None
|
spatial_unit='m'
|
||||||
fig.suptitle('Clock phases\nf_beacon= {:2.0f}MHz'.format(f_beacon*1e3))
|
fig.suptitle('Clock phases\nf_beacon= {:2.0f}MHz'.format(f_beacon*1e3))
|
||||||
|
|
||||||
antenna_locs = list(zip(*[(ant.x, ant.y) for ant in antennas]))
|
antenna_locs = list(zip(*[(ant.x, ant.y) for ant in antennas]))
|
||||||
|
@ -88,16 +88,56 @@ if __name__ == "__main__":
|
||||||
ax.set_ylabel('y' if spatial_unit is None else 'y [{}]'.format(spatial_unit))
|
ax.set_ylabel('y' if spatial_unit is None else 'y [{}]'.format(spatial_unit))
|
||||||
scatter_kwargs = {}
|
scatter_kwargs = {}
|
||||||
scatter_kwargs['cmap'] = 'inferno'
|
scatter_kwargs['cmap'] = 'inferno'
|
||||||
scatter_kwargs['vmin'] = -np.pi
|
#scatter_kwargs['vmin'] = -np.pi
|
||||||
scatter_kwargs['vmax'] = +np.pi
|
#scatter_kwargs['vmax'] = +np.pi
|
||||||
color_label='$\\varphi(\\sigma_t)$ [rad]'
|
color_label='$\\varphi(\\sigma_t)$ [rad]'
|
||||||
|
|
||||||
sc = ax.scatter(*antenna_locs, c=true_phases, **scatter_kwargs)
|
sc = ax.scatter(*antenna_locs, c=true_phases, **scatter_kwargs)
|
||||||
fig.colorbar(sc, ax=ax, label=color_label)
|
fig.colorbar(sc, ax=ax, label=color_label)
|
||||||
|
|
||||||
|
if False:
|
||||||
|
for i, ant in enumerate(antennas):
|
||||||
|
ax.text(ant.x, ant.y, ant.name)
|
||||||
|
|
||||||
|
if not True:
|
||||||
|
ax.plot(tx.x, tx.y, 'X', color='k', markeredgecolor='white')
|
||||||
|
|
||||||
if fig_dir:
|
if fig_dir:
|
||||||
fig.savefig(path.join(fig_dir, __file__ + f".F{freq_name}.pdf"))
|
fig.savefig(path.join(fig_dir, __file__ + f".F{freq_name}.pdf"))
|
||||||
|
|
||||||
|
# Plot True Phases - Actual True Phases at their location
|
||||||
|
if show_plots or fig_dir:
|
||||||
|
fig, ax = plt.subplots()
|
||||||
|
fig.suptitle('Clock phase Residuals\nf_beacon={:2.0f}MHz'.format(f_beacon*1e3))
|
||||||
|
|
||||||
|
actual_true_phases = np.array([ -2*np.pi*a.attrs['clock_offset']*f_beacon for a in antennas ])
|
||||||
|
|
||||||
|
# Modify actual_true_phases, the same way as true_phases
|
||||||
|
# was modified
|
||||||
|
if remove_absolute_phase_offset_first_antenna or remove_absolute_phase_offset_minimum:
|
||||||
|
if remove_absolute_phase_offset_first_antenna: # just take the first phase
|
||||||
|
minimum_phase = actual_true_phases[0]
|
||||||
|
else: # take the minimum
|
||||||
|
minimum_phase = np.min(actual_true_phases, axis=-1)
|
||||||
|
|
||||||
|
actual_true_phases -= minimum_phase
|
||||||
|
actual_true_phases = lib.phase_mod(actual_true_phases)
|
||||||
|
|
||||||
|
true_phase_residuals = lib.phase_mod(true_phases - actual_true_phases)
|
||||||
|
|
||||||
|
antenna_locs = list(zip(*[(ant.x, ant.y) for ant in antennas]))
|
||||||
|
ax.set_xlabel('x' if spatial_unit is None else 'x [{}]'.format(spatial_unit))
|
||||||
|
ax.set_ylabel('y' if spatial_unit is None else 'y [{}]'.format(spatial_unit))
|
||||||
|
scatter_kwargs = {}
|
||||||
|
scatter_kwargs['cmap'] = 'inferno'
|
||||||
|
color_label='$\\Delta\\varphi(\\sigma_t) = \\varphi_{meas} - \\varphi_{true}$ [rad]'
|
||||||
|
|
||||||
|
sc = ax.scatter(*antenna_locs, c=true_phase_residuals, **scatter_kwargs)
|
||||||
|
fig.colorbar(sc, ax=ax, label=color_label)
|
||||||
|
|
||||||
|
if fig_dir:
|
||||||
|
fig.savefig(path.join(fig_dir, __file__ + f".residual.F{freq_name}.pdf"))
|
||||||
|
|
||||||
print(f"True phases written to", antennas_fname)
|
print(f"True phases written to", antennas_fname)
|
||||||
|
|
||||||
if show_plots:
|
if show_plots:
|
||||||
|
|
Loading…
Reference in a new issue