From ff8409e7cb557339b5f92b5859c26cdc9f372dcc Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Bayle <j2b.bayle@gmail.com> Date: Tue, 13 Dec 2022 15:30:39 +0100 Subject: [PATCH] Rename TCB sync noise to MOC time correlation --- lisainstrument/instrument.py | 28 ++++++++++++++++------------ lisainstrument/noises.py | 13 +++++++------ 2 files changed, 23 insertions(+), 18 deletions(-) diff --git a/lisainstrument/instrument.py b/lisainstrument/instrument.py index cfb0339..e05d46b 100755 --- a/lisainstrument/instrument.py +++ b/lisainstrument/instrument.py @@ -87,8 +87,8 @@ class Instrument: # Optical pathlength noises backlink_asds=3E-12, backlink_fknees=2E-3, testmass_asds=2.4E-15, testmass_fknees=0.4E-3, oms_asds=(6.35E-12, 1.25E-11, 1.42E-12, 3.38E-12, 3.32E-12, 7.90E-12), oms_fknees=2E-3, - # TCB synchronization - sync_asds=0.42, + # MOC time correlation + moc_time_correlation_asds=0.42, # Tilt-to-length (TTL) ttl_coeffs='default', sc_jitter_asds=(5E-9, 5E-9, 5E-9), sc_jitter_fknees=(8E-4, 8E-4, 8E-4), @@ -155,8 +155,9 @@ class Instrument: testmass_fknees: dictionary of cutoff frequencies for test-mass noise [Hz] oms_asds: tuple of dictionaries of amplitude spectral densities for OMS noise [m/sqrt(Hz)], ordered as (isi_carrier, isi_usb, tmi_carrier, tmi_usb, rfi_carrier, rfi_usb) - sync_asds: dictionary of amplitude spectral densities for TCB synchronization noise [s/sqrt(Hz)], - the default ASD seems rather high, this is due to the small sampling rate (default 1 / 86400s) + moc_time_correlation_asds: dictionary of amplitude spectral densities for MOC time + correlation noise [s/sqrt(Hz)], the default ASD seems rather high, this is due + to the small sampling rate (default 1 / 86400s) oms_fknees: dictionary of cutoff frequencies for OMS noise ttl_coeffs: tuple (local_phi, distant_phi, local_eta, distant_eta) of dictionaries of tilt-to-length coefficients on each MOSA [m/rad], 'default' for a default set of @@ -318,8 +319,8 @@ class Instrument: else: self.clock_freqquaddrifts = ForEachSC(clock_freqquaddrifts) - # TCB synchronization - self.sync_asds = ForEachSC(sync_asds) + # MOC time correlation + self.moc_time_correlation_asds = ForEachSC(moc_time_correlation_asds) # Clock-noise inversion self.clockinv_tolerance = float(clockinv_tolerance) @@ -940,7 +941,7 @@ class Instrument: logger.debug("Computing MOC time correlations") physics_to_telemetry = lambda _, x: x[::self.physics_upsampling * self.telemetry_downsampling] - self.moc_time_correlations = self.tcb_sync_noises \ + self.moc_time_correlations = self.moc_time_correlation_noises \ + self.the_wrt_tcb_withinitial.transformed(physics_to_telemetry) ## TDIR tone @@ -1546,10 +1547,13 @@ class Instrument: noises.dws(self.physics_fs, self.physics_size, self.dws_asds[mosa]) ) - ## TCB synchronization noise + ## MOC time correlation noise - self.tcb_sync_noises = ForEachSC(lambda sc: - noises.tcb_sync(self.telemetry_fs, self.telemetry_size, self.sync_asds[sc]) + self.moc_time_correlation_noises = ForEachSC(lambda sc: + noises.moc_time_correlation( + self.telemetry_fs, + self.telemetry_size, + self.moc_time_correlation_asds[sc]) ) ## Angular jitters @@ -1902,8 +1906,8 @@ class Instrument: self.oms_rfi_carrier_noises.write(hdf5, 'oms_rfi_carrier_noises') self.oms_rfi_usb_noises.write(hdf5, 'oms_rfi_usb_noises') - logger.debug("Writing TCB synchronization noise to '%s'", output) - self.tcb_sync_noises.write(hdf5, 'tcb_sync_noises') + logger.debug("Writing MOC time correlation noise to '%s'", output) + self.moc_time_correlation_noises.write(hdf5, 'moc_time_correlation_noises') logger.debug("Writing spacecraft angular jitter to '%s'", output) self.sc_jitter_phis.write(hdf5, 'sc_jitter_phis') diff --git a/lisainstrument/noises.py b/lisainstrument/noises.py index 57b854b..a49ff2e 100644 --- a/lisainstrument/noises.py +++ b/lisainstrument/noises.py @@ -321,19 +321,20 @@ def dws(fs, size, asd): logger.debug("Generating DWS measurement (fs=%s Hz, size=%s, asd=%s rad/sqrt(Hz))", fs, size, asd) return violet(fs, size, 2 * pi * asd) -def tcb_sync(fs, size, asd): - """TCB synchronization noise. +def moc_time_correlation(fs, size, asd): + """MOC time correlation noise. - High-level noise model for the uncertainty we have in estimating - the TCB timer deviations, i.e., the equivalent TCB times for the + High-level noise model for the uncertainty we have in computing the MOC + time correlation (or time couples), i.e., the equivalent TCB times for the equally-sampled TPS timestamps. Assumed to be a white noise in timing, - S_tcbsnc(f) [s] = asd^2. + S_moc(f) [s] = asd^2. Args: asd: amplitude spectral density [s/sqrt(Hz)] """ - logger.debug("Generating TCB synchronization noise (fs=%s Hz, size=%s, asd=%s s/sqrt(Hz))", fs, size, asd) + logger.debug("Generating MOC time correlation noise (fs=%s Hz, size=%s, " + "asd=%s s/sqrt(Hz))", fs, size, asd) return white(fs, size, asd) -- GitLab