From 51d19318bbfcdac43db0b422a58a15b92425569a Mon Sep 17 00:00:00 2001
From: Kohei Yamamoto <kohei.yamamoto@aei.mpg.de>
Date: Sun, 3 Jul 2022 11:38:00 +0200
Subject: [PATCH] 1st version of hexagon

---
 lisainstrument/hexagon.py | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/lisainstrument/hexagon.py b/lisainstrument/hexagon.py
index 9c2d537..48ba7db 100644
--- a/lisainstrument/hexagon.py
+++ b/lisainstrument/hexagon.py
@@ -25,7 +25,7 @@ class Hexagon():
     Args:
         size (int): numer of samples in the simulation
         dt (float): sampling period [s]
-        freerunning_laser_asd (float): ASD of free-running laser 1 [Hz/sqrt(Hz)]
+        primary_laser_asd (float): ASD of primary laser 1 [Hz/sqrt(Hz)]
         locked_laser_asd (float): ASD added to locked lasers 2 & 3 [Hz/sqrt(Hz)]
     """
 
@@ -33,8 +33,8 @@ class Hexagon():
     BEATNOTES = [12, 23, 31]
 
     def __init__(self,
-                 size=100, dt=1 / 3.4,
-                 freerunning_laser_asd=100,
+                 size=100, dt=1 / (80e6/2**17/10/6/3),
+                 primary_laser_asd=100,
                  locked_laser_asd=60,
                  offset_freqs='default',
                  central_freq=2.816E14):
@@ -43,8 +43,9 @@ class Hexagon():
         self.dt = float(dt)
         self.fs = 1.0 / self.dt
         self.duration = self.size * self.dt
+        self.time = np.linspace(0, self.duration-self.dt, self.size)
 
-        self.freerunning_laser_asd = freerunning_laser_asd
+        self.primary_laser_asd = primary_laser_asd
         self.locked_laser_asd = locked_laser_asd
 
         self.central_freq = float(central_freq)
@@ -59,7 +60,7 @@ class Hexagon():
         self.laser_noises = np.empty((self.size, 3)) # (size, laser) [Hz]
 
         # Laser 1 is free-running
-        self.laser_noises[:, 0] = noises.laser(self.fs, self.size, self.freerunning_laser_asd)
+        self.laser_noises[:, 0] = noises.laser(self.fs, self.size, self.primary_laser_asd)
         # Laser 2 replicated laser 1 with added locking noise
         self.laser_noises[:, 1] = self.laser_noises[:, 0] \
             + noises.white(self.fs, self.size, self.locked_laser_asd)
@@ -83,5 +84,9 @@ class Hexagon():
             self.carrier_flucuations[:, int(str(ij)[1]) - 1] - self.carrier_flucuations[:, int(str(ij)[0]) - 1]
             for ij in self.BEATNOTES
         ], axis=-1) # (size, beatnote) [Hz]
+        self.carrier_beatnote = self.carrier_beatnote_offsets + self.carrier_beatnote_fluctuations
+
+        # Three-signal combination
+        self.three_signal_combination = self.carrier_beatnote[:,0] + self.carrier_beatnote[:,1] + self.carrier_beatnote[:,2]
+
 
-        # ...
-- 
GitLab