From 03048958acbdf2f5fa305e620458b20959ea9080 Mon Sep 17 00:00:00 2001
From: xiyehu2 <xiyehu2@illinois.edu>
Date: Tue, 20 Sep 2022 15:40:26 -0500
Subject: [PATCH] waveform.py implementation

---
 Python/AWG.py                                 |  12 +-
 .../__pycache__/regs.cpython-310.pyc          | Bin 0 -> 91800 bytes
 .../py_header/__pycache__/regs.cpython-38.pyc | Bin 0 -> 91912 bytes
 .../py_header/__pycache__/regs.cpython-39.pyc | Bin 0 -> 91912 bytes
 .../__pycache__/spcerr.cpython-310.pyc        | Bin 0 -> 2393 bytes
 .../__pycache__/spcerr.cpython-38.pyc         | Bin 0 -> 2467 bytes
 .../__pycache__/spcerr.cpython-39.pyc         | Bin 0 -> 2467 bytes
 Python/waveform.py                            | 191 ++++++++++++++++++
 8 files changed, 198 insertions(+), 5 deletions(-)
 create mode 100644 Python/py_header/__pycache__/regs.cpython-310.pyc
 create mode 100644 Python/py_header/__pycache__/regs.cpython-38.pyc
 create mode 100644 Python/py_header/__pycache__/regs.cpython-39.pyc
 create mode 100644 Python/py_header/__pycache__/spcerr.cpython-310.pyc
 create mode 100644 Python/py_header/__pycache__/spcerr.cpython-38.pyc
 create mode 100644 Python/py_header/__pycache__/spcerr.cpython-39.pyc
 create mode 100644 Python/waveform.py

diff --git a/Python/AWG.py b/Python/AWG.py
index b4af20e..d101246 100644
--- a/Python/AWG.py
+++ b/Python/AWG.py
@@ -31,6 +31,7 @@ class AWG:
         self.mem_size = int64(0)  # maximum memory size of the AWG
         self.full_scale = int32(0)  # full scale scaling of output voltage, used for data calculation
         self.channel = [0,0,0,0]  # activated channels
+        self.ch_amp = [0,0,0,0]  # channel output amplitude
         self.mode = ""  # current mode AWG is running on
 
     def open(self, remote=False):
@@ -69,7 +70,7 @@ class AWG:
         """
         flag = 0
         msg = "Checking error at " + message + " ... "
-        if custom_msg != "":
+        if message != "":
             flag = 1
             sys.stdout.write(msg)
         err_reg = uint32(0)
@@ -114,7 +115,7 @@ class AWG:
         spcm_dwSetParam_i32(self.card, SPC_M2CMD, M2CMD_CARD_FORCETRIGGER)
         self.check_error()
 
-    def set_sampling_rate(self, sr):
+    def set_sampling_rate(self, sr: int):
         """
         set sampling rate
         :param sr: 64bit integer between 50MHz and 625MHz
@@ -137,6 +138,7 @@ class AWG:
 
         if self.channel[ch] == 0:
             self.channel[ch] = 1
+            self.ch_amp = amplitude
             spcm_dwSetParam_i64(self.card, SPC_CHENABLE, int64(2**ch))  # see CHANNEL0-3 in regs.py for detail
             spcm_dwSetParam_i32(self.card, SPC_ENABLEOUT0 + ch * (SPC_ENABLEOUT1 - SPC_ENABLEOUT0), 1)
             spcm_dwSetParam_i32(self.card, SPC_AMP0 + ch * (SPC_AMP1 - SPC_AMP0), amplitude)
@@ -190,13 +192,13 @@ class AWG:
 
     def get_aligned_array(self, size):
         """
-        returns an array at a page-aligned memory location, necessary for data buffering
+        returns a numpy array at a page-aligned memory location
         :param size: number of samples used for data calculation
         :return: numpy array starting at the correct location
         """
         data_length_bytes = uint32(size * 2 * np.sum(self.channel))
         buffer = pvAllocMemPageAligned(data_length_bytes)  # buffer now holds a page-aligned location
-        buffer_data = cast(addressof(pvBuffer), ptr16)  # cast it to int16 array
+        buffer_data = cast(addressof(buffer), ptr16)  # cast it to int16 array
         array = np.frombuffer(buffer_data, dtype=int16)
         return array
 
@@ -210,7 +212,7 @@ class AWG:
         spcm_dwSetParam_i32(self.card, SPC_SEQMODE_MAXSEGMENTS,nseg)  # set number of sequences the memory is divided into
         self.check_error()
 
-    def write_segment(self, data: np.array, segment: int):
+    def write_segment(self, data: np.ndarray, segment: int):
         """
         write data onto a specified segment.
         :param data: numpy array containing waveform data
diff --git a/Python/py_header/__pycache__/regs.cpython-310.pyc b/Python/py_header/__pycache__/regs.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..8664756a74b00597dc56933500d23d077426532f
GIT binary patch
literal 91800
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
Mw4b3i^v$RL7Z`CjT>t<8

literal 0
HcmV?d00001

diff --git a/Python/py_header/__pycache__/regs.cpython-38.pyc b/Python/py_header/__pycache__/regs.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..01fa7161fa1b336493a916bd535258f90c2fa7c8
GIT binary patch
literal 91912
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
Q|Ecl*xx-8Q>1#v(7va)gn*aa+

literal 0
HcmV?d00001

diff --git a/Python/py_header/__pycache__/regs.cpython-39.pyc b/Python/py_header/__pycache__/regs.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..89a5c1540b0ea82d078bb6060faec9bfae5e853b
GIT binary patch
literal 91912
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

literal 0
HcmV?d00001

diff --git a/Python/py_header/__pycache__/spcerr.cpython-310.pyc b/Python/py_header/__pycache__/spcerr.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..013a87ab998fd70fbab80d2882e3c0b9b054d06f
GIT binary patch
literal 2393
zcmd6oS#R7n5XZGX*T?$EeaE?D=W?9;HkYDy>6J)@lDzi7fZ=A0#y}bePKqMmr!W0V
zeeILKLSNDuQi}%27l;l2M2#qN=0AVR`>obwL_bTHm)<>UM$tcf^ZieQZdU2<b4nwO
zAi@ST=sHB#VH|=H9EMRGfiWC~aU6ptj>7~tVG<``3MXM2r=W$?FoP|a#Tl5xS(wK;
zID+$V6pz3$JPOD07@WZ4a1u|zDLe_M@f4iF({L8gz&Sh%=kXj|!1HhsFTes`giE*p
zm+=x@!OL(JufR3D3fJ)(+`#K_6K}vG-h?Gwgj=`-xA7L-!P{^b@4!903(I&9?&C77
z;C*<2EAS8>z$1JJkMR*a!N>3vpTIMG3eWKwyuj!15?{b8d<n1d6}-XMu!?U$;3~9H
zfW$V$C_!Ni2`cDd0$uEY#xAU(h90g#iap3M1%nw_G?1f(x0n~v;@c0ywa`P+A&(AO
z>%$=iKRFy>j55X;;|yw1bU4A_wjE9}rWq~93}cot$5>!2GgcU@48dqKBqL@hM#AVY
zx{QdD*=sO{7{iPa#wcTqG0tc*CK!{9DaJIT#h78tGUgcbj0MIrW0fHoZH8pT48=$o
z9Y&X-8EcFlgYCGNF(OiIufZ5%3^PU;ql_`eIHSpkNZGvxV~8=qm}4w3zI}@#v*_SN
zk;`mbIcMFrb-JU?b|#7*ocuAKS}9UE_2UDlGFvJbqgA$T51M?{MwcOC9E@|M+|1!9
z4-zAdEsHA8tt(Xw(;RHOn3fSa%=2AOIiu2b<qB;L%yFpOkKOtp;$IQ5bHa2~ctx9a
zk?OcBOq|xCwiPa>trA<A7-sx79MYyL>M3d?@Ae-*Z0nL%gBDLo`h#8kzQv}IxwEB}
zHigOmlY=Q9r=lq73KM)I+EftC^3ZQhg7v7rBOHj;x|WKx&2w!!p(LZqzIDAql~pZG
z9Vw}<B2g|(OZvI(D<?N473LQkOw*aNRasY7CG<w2LBTQJ(5a$yT9Uv*N>vnLty-mA
zIFW@+OO@ryiL!Dk^eGW044mqOx=7ecg?bYeX8Hyc>TRWrR6#eVL>v_G4~?z&^`iO;
zV%s-inX=B@&m>o+WDXTFR2x#MxX`A2uu@lR`%agNW|0hWNGWLM#gHsBb-7mCw<S}V
zH=yr@-<$20ZU$*YETzq|%4jJ{Hkf}$l6A;*K}}juC!1bP|Ik&&aNoQEM7&lNWw2fD
z6v^D_D3>Y|6pgjZbdiZtc7x$_OD5TnaiKbyGG(Z<zR`wq4SQx)TIxJic|R;|Y@Je0
zE(t4<xvk^#Y1ds!hsD=NK@O>yj)D(_DXCf?RKt&`$(bFP(fWs^QLK|B>{gV*b*r{A
zqCK!#F3P-5g`}xp+aI6}T0{l)z2}Y1r4ISiU~qDR?ou1;4?+?0q6xCAWUr{QU>VB0
z?wU6ODZx#aVL7Gf*k!2|aY#`5!(4whf`-zXM0aYRc{3zBvF$3clnAvfyvVU`e-QGA
znnMXWr09~N!l|doccx;4k|J5Y&F4QDq*f@HlKe^ED3OLw=U>smMfz9b@$Xald@J4g
zWvjFIg)Z67-p8$-KYqRQZvW$#gZ&R%`PVP+_djlZ`nvsocL#S5wmyG)w|j7K_tV$E
dn=gOc$KOBfzNU|T^!ZQ1NHo&;xqq9D{{SLdKX?ED

literal 0
HcmV?d00001

diff --git a/Python/py_header/__pycache__/spcerr.cpython-38.pyc b/Python/py_header/__pycache__/spcerr.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..195d3a2db0050471ebd5e05fa46693580b513d72
GIT binary patch
literal 2467
zcmd6o*>c-96ow`5`;vWals!)3#Idulra(}lMFI>+TJ{;wcpM+KQOA*8$;piG`yQR?
zU0*4;z49ycCOrqBrkTkLR2qE*4?y6YA3vykdU~QnpJe5a4^PHQrN8;+`%jr}R_WJ^
zsD&jcVHwJF9iZzV4!{r&!Y~fO2oA$2j=&g>!Z?n>1dhWbPQVmS!Zc373{Jx=&cGbb
z!aUBw37m(Mcmhu0NjQzC;0&IIvv>y1;aND3=imaKhl_XtF5yMEjF;diybM?HC#c{R
zxQZ3HhF9S_UV|HW9d6<cxP>?2Hr|3ecpDb*4&22BxQBP)KHh^xyblj>5gy_LSi*<!
z2$x_PAHfPP!(&{5C-@ki;uCm=PvJQ}gBSQ5Ug8UQg)iYXzJfRS8s6d?c!zIc72kn}
zt58J`1XjUE0TO)(P(lp@sACO6tiu|H(7-i_umLefpfCoF3KG=t9+R}R@P2Qw5PG0=
z%&lYA`gnlBJ;y_gVa5n!ltEimIv!{6wjED0rWn(V8OAJQj!|JOF_syt43AM|2!_v)
zjDS&N)EOm8rd?(XFa{YzjA6zIW0Wz*7-vi{CK*$VX~qm=mNCbeXH*zVj8%rms4@h@
zXGliCs4?n{kg>*SFxZamm{B6d+GWN7V~{b#7-ozxMj2y_5-Hm*GX@yrj5$Vy@$Flw
zq!tXENfQxoOJlUz)+VflYCHDQ2Ausd9%<o4aPG$rBV(P(uOl?ewr;=}UqcmUU?a-F
zC`Yo*1Ws}zP(tY}&67l%O!_dz!K(3T8ZUu)zH3OMWV9|#8fpb|9I7{cv)+%`M?Bvc
zPt~M*Bvk8O6#8{f`B4$7YR~wzRG@R^!;D>qL!rvkVu;*G>dmK*t6@g7!88vEn*CMm
zy6L78iP4!BI)aJ+l7mTZM_!uI6~_6-t5QKQ%T2p93D%(cPH@1N>!FaOZIXnl=1NjB
zYiiR-WtJDx6p@VTN&{)!u%MafrZi$xP+@km{;)8XI?syA@_?R5Ly&Na7c?@>OejcT
zPY9W&ZmvS5#4}#(GR<V1NaJO>k#3&?Pq~JXHCGo2n@d-3Al*p20jYeSOC_Y!%}CF8
z3fNAii*>E2wgO)_m769jGPfhiRS}s(x(wxpkkU^>m8~on)#|1RGfAUJ2H&ORG_zs|
zmYH_BP}^=xEMsdxyBBtCwp+C6r15+qbR6d@6kf&#v(E^!4w=rWN%Mulrd88+np`Q~
zH){aTU(3_X*)B1XWUkeuiKKFh`k{%#H1;x4cZN?inPfxwsjS6PWv<TRCRCKGTQkn1
zEKDMqG~Lun7bzv=5;qf>TN^%~dfh~HSZsY1<dF2~DA<4-63O*`HQYs;9P7Rrwe2L0
z{4faIYH8+~dR~>vtM+Y{cv;e<LZZmdZ4b}}O(LE8*7HgyB6RsvqknRo?jls$9)#58
zMFT`#ibk5p&N7sDv1`@{qy%rWaMMXi$1aYv=eq=jJ<P>x!)YkA3c_09Gi!z*40JUQ
zG$le?<{so&z1a`hL(QRp9Fo?_Q0~-I<U3QbK}nG~+2-@_3{oiMOiBKvca#^oSLa`)
zZiW6zEdKdjyxhurt!{5i?0;z;Rid2_Te{QoyX`Nn%3>w&(6!rZA0Acqf3Adkd+pAC
zyT={f4?CTmEq{Oa^QTtlu(y?T_kV5eQp0Q3DzbC9)A?num9~ES-0JMMIJkIlbog<<
tvvqK^{js%!t?pLuV7JxnJ~%k~I`;b0K7QV7y`?{nQtwZ~Q2GD<{TIIbTx$RT

literal 0
HcmV?d00001

diff --git a/Python/py_header/__pycache__/spcerr.cpython-39.pyc b/Python/py_header/__pycache__/spcerr.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..d39980bfeea4f8cb9dcc87249b520d5649faedeb
GIT binary patch
literal 2467
zcmd6o*>c-96ow`5`;vW+vd2lBICl2c6bMSRNPq!J%Rb{7kK>~@>Nv71IhpZ&-=j0V
z>nruPSAK=wq~`$CG&6aDN~4e90SKJ);|H}fJv~vPPqOm+$ERbZ(%*dZ{ijSftMuzd
z)WQ;!unc9o4$yTF2Ve*XVHk&C1czZ1M_>#`VI0R`0>@zzCtwOEVH&4k2B%>bXJ8Iz
zVIJq;1kS@rJOQWhB%H=ma0XAqSv&*h@GP9ib8rFA!$rIRm+&H7#!GMoFT+*50u{Up
z*RTTD@fzH~>u?iqz%9H9xA7L-!P{^b@4y1yg?qRF_wgP)!27U>58xp#!XtbLOZW&L
z;}R_6V_3muc!DeN6raE|d<xI;8N9&f@Dg9ZD|`vB@fEzm*YFnKz&m^k@9`b1;(PFL
z6{_fgz$*ACK%x%;N~mD~b*w>%by&j?8n^}#HXz0b6vm)YL4q1SV3L*=KI{z^LJyRV
zxpmB19}h6N=Xi)Q%ot&eGH8oR$Kwp%w&O|06l0n(!<c2vF)EBD#xi4-;W4TV!SET9
z5in|uI-^9%w9AYE#vo&eG0YfYj55X;<BSQ$Bx8y(&6r`#GUgcbj0$6kvC8lmRfb^r
z49N%>HAbBgGS(Ok2HUY6GfJdbyUZA13^Ilo!;BHeC}WIKB4yiU#sFiSF~_JdzI`i|
z)PjLCX(HlnX^b}8+Jv=GZO2~PfU`fwBQ3lL&i&Y7WUMm@BQ(plZon8{LltH&q7003
zB->2jBsT&jl+MyTNwmqN4^teh8lR@|5}4<^hBQh>>(Zp5Rxrn*deb-S{fK?U^NsOT
zO}a-yweCfsU-y(B6``v3j897iI#)i-*kw2rsyr=*$c?1leD<UoW;7d2^N^s~U&XGQ
zZYq%&ooS&XnD{R_nB;ckr5RmeoNv4;6$G=~v`dp<4XW=12Yk663Q5`~NvLYBBqg(^
zHjPwfc_B>^$*8V0kj4!Qnu%^oBQ^yUW+&?p3uCGCtf(vx=!rB038#2LBh$=;f&})2
zkZJ1XDpX25<Hau1OvZ^cUX~l__9^g`YZzH`b&;^SboB<(jkFt($`83zLOR`y^n9m)
z?Nqv0*NSQ@@O4wUX|f`7JCa-#kvXKxP;Lk*{WMhB%5qVyZkjNYG>T;KT}n<fD~4d1
zX_pJN?Y6`+wg$9&Vb^B6MVn3<&lf_+ajrt)Wo$6}j3Dcf>71H0Ul?p!HEpNKmEwJ~
z2Jrl~Jk6Z#5+h0GT1}crDyOI)nm9~jFB5fV_(YRQHiVzbS}axO>MU+TMY*~)<2=g3
zB$7$fO|5j1QbI0qGm*Kq;q$52O+<&q)<;1ONuQ2_4Y(nZT<=%IU9`!u?we8DPSVH^
zgTSqpW}d0%RjIsc-)4!IB~2<MitOC>0Bz7D(y4DfuXG|pmp?W7C&%e7LZ$6NNL^ku
zK-8sZq<QQtLwOgwW{p5f@Foj4os@L!;z)bGOHkOuT)Z}%hC-_#tQ9`9W(dMSSMxwq
zBD7`hL5|g%{g6G>916%GX`Kw^PCZ4wGZh<@6p52<KL5@jg+k7h<WG7>d69c{{#oi?
zrN0u3e|{6Mw(?%9+uIWRUt33&Xy@aW?zH@F`)jMRSjjtd?e^M-N0t4bD&gK<yR+Z!
zaYy&#PG@J!-{1Z6xz#!BZ6)3PUs}7=@S3%X>>TcNe%@=PtzW;iI=d|nE*=~me%kMB
s9UN_cYVBaFyVX0`ZFRd3503sCd-Hi8zwEW%(H}>t_XlC9{D1%c3l4r;^#A|>

literal 0
HcmV?d00001

diff --git a/Python/waveform.py b/Python/waveform.py
new file mode 100644
index 0000000..538c959
--- /dev/null
+++ b/Python/waveform.py
@@ -0,0 +1,191 @@
+from AWG import *
+import time
+
+
+class Waveform:
+    def __init__(self, cf: int, df: int, n: int, sample_rate: int):
+        """
+        helper class to store basic waveform information.
+        :param cf: center frequency tone of tweezer array.
+        :param df: differential frequency between neighboring tweezers.
+        :param n: number of tweezers to the left/right of center frequency tone, total number of tweezer is 2n+1.
+        :param sample_rate: sampling rate of the AWG to generate correct number of samples.
+        """
+        # define some useful numbers
+        scale = 2**11  # Mingkun uses 2^11, caltech uses 2^15, maybe this is scaling up a float to int?
+        num_tz = 2*n + 1  # total number of tweezers to be generated
+        max_amp = scale / np.sqrt(num_tz)  # again, saw this from multiple sources, not sure why
+
+        # self.amplitude = max_amp * np.ones(num_tz)
+        self.amplitude: np.ndarray = max_amp  # uniform amplitude for now, this will eventually be tweaked finely with experiments
+        self.omega: np.ndarray = 2*np.pi * np.linspace(cf - n*df, cf + n*df, num_tz)  # frequency tones
+        self.phi: np.ndarray = 2*np.pi * np.random.rand(num_tz)  # random initial phases from 0-2pi, also will be tweaked finely with experiments
+        self.sample_rate: int = sample_rate
+        # self.debug = {
+        #     "mat1": 0,
+        #     "mat2": 0,
+        #     "mat3": 0
+        # }
+
+
+def create_static_array(wfm: Waveform, sample_len: int) -> np.ndarray:
+    """
+    create a static-array-generating waveform with user set number of samples
+    :param wfm: waveform object already initialized with basic parameters.
+    :param sample_len: total number of samples to generate, must be multiples of 512. Note that more sample != higher resolution.
+    :return: returns a 1D array with static-array-generating waveform.
+    """
+    # construct time axis, t_total(s) = sample_len / sample_rate, dt = t_total / sample_len
+    t = np.arange(sample_len) / wfm.sample_rate
+
+    # calculate individual sin waves, sig_mat[i] corresponds to data for ith tweezer
+    sin_mat = wfm.amplitude * np.sin(np.outer(wfm.omega,t) + np.expand_dims(wfm.phi, axis=1))  # shape=(number of tweezers x sample_len)
+
+    # sum up all rows to get final signal
+    return np.sum(sin_mat, axis=0)
+
+
+def create_path_table(wfm: Waveform) -> np.ndarray:
+    """
+    create a dim-3 look up table where the table[i,j] contains a sine wave to move tweezer i to tweezer j
+    :param wfm: waveform object already initialized with basic parameters.
+    :return: dim-3 ndarray
+    """
+    # setup basic variables
+    twopi = 2*np.pi
+    vmax = KILO(20) * MEGA(1)  # convert units, 20 kHz/us -> 20e3 * 1e6 Hz/s
+    dw_max = wfm.omega[-1] - wfm.omega[0]  # Longest move in frequency
+    t_max = 2 * dw_max / vmax  # Longest move sets the maximum moving time
+    a_max = -vmax * 2 / t_max  # maximum acceleration, negative sign because of magic
+    sample_len_max = int(np.ceil(t_max * 4/5 * wfm.sample_rate))  # get number of samples required for longest move, this sets the size of lookup table
+    sample_len_max += (512 - sample_len_max % 512)  # make overall length a multiple of 512 so AWG doesn't freak out
+
+    # now we calculate all possible trajectories, go to Group Notes/Projects/Rearrangement for detail
+    n = len(wfm.omega)  # total number of tweezers
+    phi_paths = np.zeros((n, n, sample_len_max))  # lookup table to store all moves
+    t = np.arange(sample_len_max) / wfm.sample_rate  # time series
+    # iterate! I think this part can be vectorized as well... but unnecessary.
+    for i, omega_i in enumerate(wfm.omega):
+        for j, omega_j in enumerate(wfm.omega):  # j is the target position, i is starting position
+            if i == j: continue  # skip diagonal entries, duh
+            dw = omega_j - omega_i  # delta omega in the equation
+            adw = abs(dw)
+
+            # I advise reading through the notes page first before going further
+            phi_j = wfm.phi[j] % twopi  # wrap around two pi
+            phi_i = wfm.phi[i] % twopi
+            dphi = phi_j - phi_i  # delta phi in the equation
+            if dphi < 0: dphi = abs(dphi) + twopi - phi_i  # warp around for negative phase shift
+            t_tot = np.sqrt(abs(4 * dw / a_max))  # calculate minimum time to complete move
+            t_tot = ((t_tot - 6*dphi/adw) // (12*np.pi/adw) + 1) * 12*np.pi/adw  # extend move time to arrive at the correct phase
+            a = 4*dw/(t_tot**2)  # adjust acceleration accordingly to ensure we still get to omega_j
+            end = int(np.ceil(t_tot * wfm.sample_rate))  # convert to an index in samples
+            half = int(end / 2)  # index of sample half-way through the move where equation changes
+            t1 = t[:half]  # first half of the move, slicing to make life easier
+            t2 = t[half:end] - t_tot/2  # time series for second half of the move
+
+            # do calculation
+            phi_paths[i,j, :half] = wfm.phi[i] + omega_i*t1 + a/6*t1**3  # t<=T/2
+            phi_paths[i,j, half:end] = phi_paths[i,j,half-1] + (omega_i+a/2*(t_tot/2)**2)*t2 + a/2*t_tot/2*t2**2 - a/6*t2**3  # t>=T/2
+            phi_paths[i,j, end:] = omega_j*t[end:] + (phi_j - omega_j*t_tot) % twopi  # fill the rest with parameters of target wave
+
+    # now compile everything into sine wave
+    phi_paths = wfm.amplitude * np.sin(phi_paths)
+    return phi_paths
+
+
+def create_moving_array(sin_mat: np.ndarray, path_table: np.ndarray, paths: np.ndarray) -> np.ndarray:
+    """
+    create a rearranging signal that moves tweezers as specified by paths
+    :param wfm: waveform object already initialized with basic parameters.
+    :param sin_mat: 2d array where ith entry contains static sin wave for ith tweezer. See create_static_array for detail.
+    :param path_table: lookup table returned from create_path_table().
+    :param paths: 1d array filled with tuples indicating moving trajectories. Example: np.array([(1,0),(2,1)]) moves tweezer1->0,tweezer2->1
+    :return: 1D array with rearrangement-generating waveform.
+    """
+    # for i,j in paths:
+    #     sin_mat[i] = phi_paths[i,j]
+    # fyi, line below is equivalent to the for loop above
+    sin_mat[paths[:,0]] = path_table[paths[:,0], paths[:,1]]  # copy dynamic trajectories from path_table,
+    sin_mat[np.setdiff1d(paths[:,1], paths[:,0])] = 0  # turn off tweezers that need to be turned off, moving 3-2, 2-1, 1-0 will turn off 0.
+    return np.sum(sin_mat, axis=0)  # sum up all rows to get final signal
+    # return np.sum(sin_mat, axis=0), sin_mat/wfm.amplitude
+
+
+def old_code():
+    """
+    collection of unused code that might be useful later...
+    """
+    # def create_phase_paths_old(wfm):
+    #     # setup basic variables
+    #     vmax = KILO(20) * MEGA(1)  # 20 kHz/us -> 20 kHz * 1e6 / s
+    #     dw_max = wfm.omega[-1] - wfm.omega[0]  # Longest move in frequency
+    #     t_max = 2 * dw_max / vmax  # Longest move sets the maximum moving time
+    #     a = -vmax * 2 / t_max  # constant acceleration, negative sign because of magic
+    #     sample_len = int(np.ceil(t_max * wfm.sample_rate))  # get number of samples required for longest move
+    #     sample_len += (512 - sample_len % 512)  # make overall length a multiple of 512
+    #     # t = np.zeros(padding+sample_len)
+    #     t = np.arange(sample_len) / wfm.sample_rate  # get time series
+    #
+    #     # generate phi for every possible move
+    #     n = len(wfm.omega)  # total number of tweezers
+    #     phi_paths = np.zeros((n, n, sample_len))  # map to store all moves
+    #     for i, omega_i in enumerate(wfm.omega):
+    #         for j, omega_j in enumerate(wfm.omega):  # I set j to be the target position, i to be starting position
+    #             if i == j: continue  # skil diagonal entries
+    #             dw = omega_j - omega_i  # delta omega
+    #             t_tot = np.sqrt(abs(4 * dw / a))  # total time to travel dw, t_tot <= t_max
+    #             end = int(np.ceil(t_tot * wfm.sample_rate))  # total number of samples to move dw
+    #             half = int(end / 2)  # index of sample half-way through the move
+    #             t1 = t[:half]  # time series for first half of the move
+    #             t2 = t[half:end] - t_tot/2  # time series for second half of the move
+    #             # do calculation
+    #             phi_paths[i,j, :half] = wfm.phi[i] + omega_i*t1 + a/6*t1**3  # t<=T/2 note we are changing the ith tweezer
+    #             phi_paths[i,j, half:end] = phi_paths[i,j,half-1] + (omega_i+a/2*(t_tot/2)**2)*t2 + a/2*t_tot/2*t2**2 - a/6*t2**3  # t>=T/2
+    #             # phi_paths[i,j, half:end] = phi_paths[i,j,half-1] + (omega_i+a*(t_tot/2)**2)*t2 + a/2*t_tot/2*t2**2 - a/6*t2**3  # t>=T/2
+    #             phi_paths[i,j, end:] = omega_j*t[end:]  # fill the rest of the array with target frequency wave
+    #             # phi_paths[i,j, end:] = phi_paths[i,j, end-1]*t[end:]  # fill the rest of the array with same value
+    #     return phi_paths
+
+    # sig_mat = wfm.amplitude * np.sin(np.outer(wfm.omega,t) + wfm.phi[:, np.newaxis])  # shape=(number of tweezers x sample_len)
+
+    # self.debug["mat1"] = np.zeros((n, n, 2))  # for phase debugging
+    # for diagnostic purposes
+    # path_idx[i, j] = (t_tot, end)
+    # phi_const[i,j, :half] = wfm.phi[i]
+    # phi_const[i,j, half:end] = phi_const[i,j,half-1] +
+    # print(a, t_tot)
+    # return phi_paths, wfm.amplitude * np.sin(np.outer(wfm.omega,t) + np.expand_dims(wfm.phi, axis=1)), path_idx
+
+    pass
+
+
+def main():
+    # sample usage
+    np.random.seed(0)
+    cf = MEGA(80)
+    df = MEGA(0.2)
+    n = 10
+    # period = 1/cf
+    sample = 512*1000
+    rate = MEGA(625)
+    # rate = sample*cf/1e5
+    print("Sampling rate: ", rate/1e6)
+    print("center f: ", cf, "df: ", df, "total n: ", 2*n+1)
+
+    wave = Waveform(cf, df, n, rate)
+    static_sig = create_static_array(wave, sample)
+    table = create_path_table(wave)
+    # mat_copy = mat.copy()
+    # mat /= wave.amplitude
+    t1 = time.perf_counter()
+    repath = np.array([(1,0), (2,1), (3,2), (4,3), (5,4), (6,5), (7,6), (8,7), (9,8), (10,9)])
+    move_sig = create_moving_array(create_static_array(wave, table.shape[2]), table, repath)
+    print("rearrange signal generation time: ", time.perf_counter() - t1)
+
+    np.savetxt("static_signal.txt", static_sig, delimiter=',')
+    np.savetxt("move_signal.txt", move_sig, delimiter=',')
+    # np.savetxt("initial_phi.txt", wave.phi, delimiter=',')
+    # np.savetxt("sig_mat.txt", sig_mat, delimiter=',')
+
+
-- 
GitLab