From d5a176a43dafe4de56c5bf6412c97ed7b40f0f83 Mon Sep 17 00:00:00 2001
From: Jean-Baptiste Bayle <j2b.bayle@gmail.com>
Date: Wed, 25 Aug 2021 18:43:26 +0200
Subject: [PATCH] Add initial phase for TDIR assistance tone

---
 lisainstrument/instrument.py | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/lisainstrument/instrument.py b/lisainstrument/instrument.py
index 2b1c9b9..c521602 100644
--- a/lisainstrument/instrument.py
+++ b/lisainstrument/instrument.py
@@ -112,7 +112,8 @@ class Instrument:
                 on each MOSA [s/sqrt(Hz)], or 'default' for a default set of levels with a factor
                 10 higher on right-sided MOSAs to account for the frequency distribution system
             modulation_freqs: dictionary of modulation frequencies [Hz], or 'default'
-            tdir_tone: tuple (amplitude [Hz], frequency [Hz]) for TDIR assistance tone, or None
+            tdir_tone: 3-tuple (amplitude [Hz], frequency [Hz], initial phase [rad]) of dictionaries
+                for parameters of TDIR assistance tone, or None
             clock_asds: dictionary of clock noise amplitude spectral densities
             clock_offsets: dictionary of clock offsets
             clock_freqoffsets: dictionary of clock frequency offsets [s^-1], or 'default'
@@ -200,11 +201,13 @@ class Instrument:
         if tdir_tone is not None:
             self.tdir_tone_amplitudes = ForEachMOSA(tdir_tone[0])
             self.tdir_tone_frequencies = ForEachMOSA(tdir_tone[1])
-            logger.debug("Using assistance tone for TDIR (amplitude=%s, frequency=%s)",
-                self.tdir_tone_amplitudes, self.tdir_tone_frequencies)
+            self.tdir_tone_initial_phases = ForEachMOSA(tdir_tone[2])
+            logger.debug("Using assistance tone for TDIR (amplitude=%s, frequency=%s, initial phase=%s)",
+                self.tdir_tone_amplitudes, self.tdir_tone_frequencies, self.tdir_tone_initial_phases)
         else:
             self.tdir_tone_amplitudes = ForEachMOSA(0)
             self.tdir_tone_frequencies = ForEachMOSA(0)
+            self.tdir_tone_initial_phases = ForEachMOSA(0)
 
         # Clocks
         self.clock_asds = ForEachSC(clock_asds)
@@ -596,6 +599,7 @@ class Instrument:
             else self.tdir_tone_amplitudes[mosa] * numpy.sin(
                 2 * numpy.pi * self.tdir_tone_frequencies[mosa]
                 * (self.physics_t + self.local_timer_deviations[mosa[0]])
+                + self.tdir_tone_initial_phases[mosa]
             )
         )
 
-- 
GitLab