From 4151f0d81363746af3b620f7e62affdf0e0ef52a Mon Sep 17 00:00:00 2001 From: Dan White Date: Mon, 8 Apr 2013 13:04:19 -0500 Subject: [PATCH] sine integration start with chip 14 arb0 --- .../arb0-2013-04-08_130324_5.0-005-005.npz | Bin 0 -> 5280 bytes .../arb0-2013-04-08_130324_5.0-005-005.pdf | Bin 0 -> 14561 bytes .../arb0-2013-04-08_130324_5.0-005-005.yaml | 335 ++++++++++++++++++ python-lib/arb0-harmonic.pdf | Bin 0 -> 14007 bytes python-lib/sine-int.py | 273 ++++++++++++++ 5 files changed, 608 insertions(+) create mode 100644 python-lib/arb0-2013-04-08_130324_5.0-005-005.npz create mode 100644 python-lib/arb0-2013-04-08_130324_5.0-005-005.pdf create mode 100644 python-lib/arb0-2013-04-08_130324_5.0-005-005.yaml create mode 100644 python-lib/arb0-harmonic.pdf create mode 100644 python-lib/sine-int.py diff --git a/python-lib/arb0-2013-04-08_130324_5.0-005-005.npz b/python-lib/arb0-2013-04-08_130324_5.0-005-005.npz new file mode 100644 index 0000000000000000000000000000000000000000..a50ffdb1f2f94773638fa63e81d33d4ee4b95719 GIT binary patch literal 5280 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 bWy*uMKtC_}Pp*t)Zs5w8?}i7e65f9SKc$1~ literal 0 HcmV?d00001 diff --git a/python-lib/arb0-2013-04-08_130324_5.0-005-005.pdf b/python-lib/arb0-2013-04-08_130324_5.0-005-005.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2a22774bb2fc377d818f67cde7a80b13d9930065 GIT binary patch literal 14561 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Ξu!cZZ$OqObM0v0#kY9ih^LzQ}6F+OnC}7=T)EYYetx(r` zwH@m7t3ZB1^*c~IKtT<9Urmh|KVMw`wvAIWxIiTNv4I1VQUeRvzTqh7K@w=9?%dSW zA87QxWmzSYfNQNDk)dD(y23!LpuUv=f*gPYYpf0j7u@QRJJ?@V zkKEv3!=Sc$!Kv^3zzAP(fk8AF2rASEM36dg>H`#T6bJ{`33WsO_&Q?sC+S9n1XTE8L?dviuWIujH!9($bF7;+^$UuuMP#_25$-QUhLHnHEld6V?`JI} z!&r8Wp-tb9-NRYa6xlO6!~1AaB0_Mn*xq336k`F8w@@=p}70{XhI+1?ABC3BT?WDD^ec(V$fJwBu)Z} zl#rx;+2a!A48CI7?M$g*;6K1w2JS|o z_$eR|{|%N4bd~cVQzU=$iqHVED+~%5Fc7tV{DGi^1Fq`||3!l?VCWC-^Mi)MpuvOu zKWJzo(tL(_fHy z6aXTB^uuF8F!_^4_?t#R|E&iBi~P%`1RQiZLVv&f8A%`jRJkW6pTzdtLJ^$q*`qa&cwIkb6nWkVvE=QzT_7Ln=c;lt`J9 zij=08jLB3Am3;eL^}dnk|9QUWyPj>Ivxl|UUTdAbetVyFWUUO1RnV$9gzVMVP*F7k z4WS@kXHSHtCWN#-X+_>gp+XqYz#7ulMo@fQ;f88|bg;8@_N2Jb zAR@gD=s=@U{Cyxie2YL@`TM%qP-u`nAZ2I_$Wwx75Yp5ekk$W{8~n;mAx8*l6ht$z zp^<462)9VU#+~fy;j<4SERr|&^`Svn`t^V8pi!XU_XJG*eFOX;cq#@q5Ymtm=;1=K zHUWcyJ6nIU57m$CPw{a%^n0p{?X|Vxxq=GX;$#s>bBe16S>HDZunv>Q6A2Iwi-CEx zrciwY{9S-tU^!U-CIpKL3a!MkU}@?ns(jxh_M4wbu*VDWSPpI~6hQk3m7Cj>*8LhK)fXC9OdR ziJg~&=GE?OA=k7ym6?+D~^}{w#pZo?E{#QL(Yx!ZzCqA z(`IQJKQOP~bM0C4a{zaw-qX4<_-pDyP|5cYlW4A)7dRoMw3uev?97|Vj}wPxf8Kg| z{IIo`%xkZl-dJO5#h$9C6;=J6X$MrEf3G++(5a+sI!Ugp$;&9F2o)c_DPop%vt$?Z zxATKN);Hxk&3AJin%Kg!>9!q1Q@Y~7ZcioeXX!E?6T2(B#*#U%Y|X9he@b~)?df?x z+gigHdE2^B_LlYTCu7NVL_Fs5Ym(E2lJQKhhx=Z|LuH+cijl>|WAn*L8M&%_Qa59} z_LNuX%GGN&gb@aG3k8!h1t0OqZa`hfWU&0n`|dBh+7q$pdlO^>U(c423p zyiHDvGUJQuo_cpSp+yY&wosdEPhR>^LEe|k5Zy>q5|r-zqwf{txhd5Y>w!#zs04xf{V#s#Gp_MYT6fJXCdr6V^yn;COFNTMw63TF zW1pf}FIT@aaeCsLUnb=z4a4nbh!vVXQr_WdwxknzN%4$n%$^GC1=Gd1D4eYlim~Xh(uyC#Q(9k0SLkkJ>Jt*=33%?I zQRSLM+8{lIA7xK_8?IJe9PAM(rdqJB>8{Nsl!J1%PB&YpbQOpHfk%0&2lWfg_*ATe zBONsZSa;h$3G^})(bG2z$UNCBF?okPAR(&4;Nn~9cAOA9MY3B{b-VfsZ~mI>h|1?1 z)>W~r%jU)ZV{z0Wl3#De(BLtnVuakMZEGf|JS95E6iTo7IB_#7M95WR-|QaKX`-HR zE?1i#=GZyQMpj@-=aNY&O3BchHx_F(80`~FVs3cZ)g-*`Kv#j1%#hyv3!5CPW^!a; zw_TOdtOP#N&4=$bBgTK7=&7~3&b#CKNrPDt;%ca$WQANP#aV3flv)gy;fh2v)vVaI zQq}m?my!GW>pPt#UP#7EbZS-zmJ5j)qCH)b3|dcdir~H7Rkuskv(nn}BIVWbejW-U zEj-fO426Yk%X@qN(bSDy=g{#ZE4Gq7eK?=`NiEv%WGCx)kE7PA3ACxt!b zfz|hFa1x_el)6h?=mV9cVV-YS1qgRpE~g|s#tGnTl$3UN`?G zu6;C|YHF&mn*Qg)qIEGhvQ%!E?u_+`G|jyfw?pAQIon`RpTTJ|mV4TYLAy;akiA{% z$Pf9gmEon4{BPL%m`b_YinUerneu1Ct;S1lhCFG+9sI&9=EEo!gUyB6;M{=<*GsgaCrz5{ZDsu#W+%(T&e&d>7q2$!ziMS2og@-f&%L4Y z80trpk@LPNRUvNXbR&yx8g28N>M6P$COQHJVfSLCp0Xl?-bu6XJQtgFvCFcUNwH8} zRId%csV#ii*lecnamNCqmwCStqxG4%Y?i9JP=qMy1WSy+ms6OdZ--J3ys>QfdaQG5ZbYZIoO_{O{(AJY zeHE?8UcPxec`NK|wPv6eHlT~Ob?Ek7#W8kKEzNgxwYVQ8heNeAzdzaNz|-v;*dxH^ zLc6YhN$w@(8Q=re0=sSf6dxPp9?t-0ac&O zEsc5KTDZBVv5&g2d}!o5r`JCrQb%}r;M<5apP`QuRSPgD{;3m%cZUGK(!y zm1?~A5C6=PxNUJXBc%GY-tcqLW7|`e-c8G}N%cKEK{_a2dwE|0vWL#=$&s(`AEnML)UMYKtD2i0 zn4f>ut25!F{cg?O(9hq#j$MDZ=LA=r_>O$4=Jz71?di73cdl5;(x7;0UM{Kc8{HhM zf~O3OSUPX$8dmFk(->tJ%{doG-ls!6-}l&5>%oPGm7h(_H4)hZ>m{_l|NPqUsOY-R zyVqfNst<=PeEF=0a12MFj~_`RlN_%7gAtb+e(9+{*mP3j@F8w-cmH=mrIEG^iIYux z5oe^#Q~5!odstC*&BQM5$9+bpYp*si$7pBg{0yIdoZS#6tG?AtZ|=L0!&f;5%EAn1 z!iYuM#E~Sse_}X4-JLv#`;I~mnCwmX#{8A?=6mbSJj>&EzBPNUahj5PxMu@zLuumr zGk4k4)3^q?x4EDuViX0QwZh(#MMt5mtA&#)=UQ zh7!9ZnqYP`H#FUej9vHQo0_2G*sk{pvE2oawGXplbx1w$f`-B@Z$9$bGynAqSI_gJ zJddf#PeGoV6OSzk6JIW_yZEEm^|aR35-Q8-rWXelZYJ!FJ(~M4>dv8=H>l2}1wzfC zFrB-P-gV`*1uihpnkh)au=W?&`UP<5APh!p7#s@o8}*`Lh`TBXhalN~z@UetAv#m}a&$;x<+FBNC%SfN8HYM>D zSP@w)-M4aM_dk`LY@xlwWZKtc?D!C2vAKWbDnTqe&TUV_6PtF#`Jb(?WjrayY0Q{W z+gk#qrB1AatT#1hu;cj-!;#S!T5b$mptE1Q8H( zODMNOS)p(!_Or&vbyE^z^kXGOHZ$CB8;IZ>4By43E0(RseoZb~iHG6AFpt~{1Fset ztD%-i)hO;ZPaTTG@bG0PmQXpji<^?m!o;C1ul+2m4_B)5V{G1%k4Lj)aw{LVnPN-J zal%&`Tc5h{G3SQQ-hiWn!8S!-X4n-i0|O6eJ!%!5{+ln%pSz0xB@oh5zRXYQ@z+5d z%o8y-%b=y%6Ts`C2Ek7}) zTQ3}ccK8nz^GkV8P3~Lxa3_LEo+^iQ`Z~bGyQbnYQ{?-U`*bB~o0)0kR)k(xFVH ziLA8Jk|!_voczS(_Jj))orXP5iQ#Fz5tmhy^^Z2nPNp3RI6QpEQZ&d@)IX4AtwFOB zr)RaWxm~&D#dr(GzJ<_+ah3k8v!7cs#plE`#wIn&e0t?Q1Erq$3t>9Ta1YmU2pDb9 zJY;m)udnR+!7dzsryG|=3ga~kowzj&PEvbzg@3$eNHTkRI`5)y&BGa9T?U)-6+{DX zSy%I{5(rBq^UIovJ3H_=+;$WO11uY}Z8N$bgTt|7sZ~x9B&U=Z#&|M^%snyxN~hh_ zI(4Yjs+i>9!CZ^ZHs1KY5WHc5PenT^oXRH4KGzT{CU4>)PSydEo|=L}`0{fL2=}%fJ(P zFNKX(w)(ZSg^P!KzH>47B1c!48@x$h)!dd&jV|Tz20;T=2C*cjk1G&{j}KNu7z-BV zC6;Y%<_|3U)m=27O9jEQO+afFBQGS?`M7gfJ&2sD&3v8DLP0o)J&}R!dhgz# zB#UEp8seC@YZDX1_+;*-o1HY@oTO#?LuuekZZeJ*DyKx9JM3Q|=$X^ZAq3e~ym`97;nz>B7|2FuHFTw@N8d77%$KBuh9 zJ)is_E>hZD(t2~&2e|^QUOY=q(YBmZ5{;oFtZS^`i{Uhci!@1j zCOb1)n;W^5*yn2=)fw4}6>0ME``vwIFrV?UpZNA^RaxWo>>g@q4NAyvYVf9by!p*p zBC>B*>;35559a(ld*KxXxN5|JMK2Mc(V12r7JwKgYuBSh% zC#5lk;<)i%Tg;$wlDY`hg$C`BBh1>WQj%2V9++xJvHA+w3o2g|dW3Bn+d(Wu#s+5%Fy&Bb1V!bJDV(->+`_r)cPFAkhH%>7V@Spb+j+vm5op zd54vcT+`p!HoaBjps952(#x8VhaBg^lipruje&zNG9R_o-84iBv?@H#Qo8@zXs$Hv zRCTF(V_^g8g8g)U#>wO6iRnX%W}>&aG8=Bj45ftJ=OyCu*#l0Q)$_dRa^Hn` zRBlRY|7WVk3W8rP8p147w~^KDQwEC|gu`iG`EcgJ z&B?FsYHcz0i;~=}b9OiXxf69}+$BlAeI~|wT3mNUqWZA+AB#lkwMXXaW_%IlOA9*Q zW9%~==+|D;fQ=(Di8Su^yZkKetHX=_40d_GcJHLAIQ?o(E1pY&(vZU3Gz|284zlhn;u zSzRMLWw)iB>beqNsksn$aq1`Y=}Wul?>Lrj2C=I}a2U)oFk-1u3if@Yq$t&R(Kv6X z$7N}@$Qj>@uBANuKR17xHZ+mjGuXs&_2pEBu;>ZVSz(*0>sn(Cksq`wqd5lp^v{uH zGVr67=dZkPyz4lCeSYsY&mHF!5ta&6;+N#cwAR3Tc4G1eEK0>)x()ZcIF618K3}_a z6SL%nF_dhRgpfi=X-*tT-J(Bc$hojl_3i{YH(SFR@ry19r5m}s#>KX_|A=cCn)Rs5e z3+|5g<||m*Y7rq8yA(1Q0pQk%;&?SA=m22{_r3pIW3h8&{#LS|`Www@ZVpb27G?A0 z*Mt<;$bN}Wc{^QCbj4pZK5clP@0~(c-L+3uH7WNUntWomOl7UtNzEf-9$o7wyk&BQ zaMBpBBs~NfLT*#Kv&HfwPC<{_CE%!U~%o%EKC`Fqp?)IAg!KWYNhxt3$Mr@x_gfBe zmg^{<#X9G1xc`JRq4R9}TESGdFCAjvD`P~jpSnModFPEzJ?Y};cM;*rWB;t6n$==z zG%)x-F}3*_J^lt1*wBVXWrmk9e$J!?Z}}Of5>FUs9g7Q3IF91bbmksK$<_pa@7GWMTEv#s#3lB^?29*9AM^S~1kF#5uBARJ&!rK!DSFplXqv4Hx%hVD z_6nH`5gY73M5;cK`DDaIePN4w{NaI_*_kV2FW+u-)5dnMFq_q4Q^Ha^ThW2(-YJNw z(pMGP%zeLwv5Y&sTs9-(guOmaFDb%~FV9WRjn7n#St^x{p}AaWUKJ|t2 zU^c%**P?@cos_`N9Mdmju~^%Y-Y(~BIoS?Kbt(R~v+s*^rH`nWJ~Xg@l@_XgJ?x|8 zgusHL;*bxSQMGVfcg}j_ROgwO+diacol#Ws+Thu9m*cinQbmY^1tp{UFnf9ZKBb-C zLzwf2)WcVp>uO;jaVerLLscvu6WO3}L~9h0V2wiK;f*yD=h1Uj4ybz)sMdA)%IwM~ zo%CGwl%;KK^4IWjWjF9$TXQd>=`th3=+HX)N!+rvd9|ntgI)$HtZuIb8%40Y=IU=h zGDdvdn%DZ%TP7n{pP{SKJ_1b36(KXQnKCT2=MI&V54cVCv#8gPk zpy14#u9PwZT&g=Mlnbj^D8Bxg86n+IQK0(L>jvyM9&Z}+j_3^~_E1NzQ+EaA|B!bb z_q{ZMlTzGU%-I%-{b#ISPiRT_W}ir+O~)jj+S}kcqPq!AH2kAL%zIp(gu%k|%7>%O(XrMmoMGWs3-i!~ zrRp+@H{)-Bz>#H!zR9Es+mTFK^_Gdd#ggV_;a5s@*$&FH6x?JLc*2VGHml~+w&!er z5Hw8i!SnaC1cdL%eea%R9a7ckkxZL%Cs38RiUroYtqD%b5xvBxF7$RRyWjuvc>A1* z-Q={#-6|}5>uSX<^+Ep;d!lN_l_#ku zNSXOgTMo+Ij2Cy%?#g05u)7vf<#IC7_rAogtU7YX)&tM?GCt35F5T4xnI4yH56L;4 zggBMoa!5(2o;NXT?U&Yi=MkY!45Oc>GB<4P{Jual-OkEdxW84i-@n07HdHzO z)i$rbZezDg^^@0&+M*^lziLuH;nig1(411g&rrD^eP8o_#Kfyv(G7D~+nUSRA0S`O zi0=4Uz}c$*;3T%ZLGg5hVpECJs8r$MAe-EV0+|=@PcCRTQbi(!?|^sB$hn~+>7YBg zMm<_?ugdLtQ#?$P1yhcVd9=6on~f^(eE5D2dihpJL*H{}csA-) zxepq@4!$^($Kp8rfRd}mG?%7W&%7nQZGSfOvuQ-~3Wo3UwUI6Ix3&o#{Lt)BR#kJs z6k|VQ6#Gc9eY8I9%fWM)qDLBsQUvlWjAlg-SFrG0c>m$0S6YAQHF3pQ^SdRC3F$Y~NZdyz7m9-IEOvvu-a>WpaE0wcEX2;&M$SuNZ|MZPHdu9J^q9Ir1|jdMa}YpVf#zh zxspP3Z>n7|wL*tncRrev5f~yI_h>tU(3~qOJRz7&o`i7BsXoXp> z7AT^Z`AqY8vo%b>XU=FvA;SfSxtQPI*WZ};8G)u|8ojlGHxNa~a5z0Gqi&eds+|^c5 z_~=@sqszhSjiw&mcY=eCt(BaN&EhO#xP5!>sD0h+E}K^0;-qQwwifp1Dw-{q`Gm4l zKZRsyHKX-3)J-Pc-k=Xu6j$SfI=n0WS~ zEZ0x&)VHb7SDo#Uj9os=5SuH!dt%W!s7|Hi9LQ_jCjc;9;c^p63mTKfn z^bOIf)cvg561L|Nq-XPdlgE*c!V4~&(nTpz2PM+EaStV;+XOVDvHVHXA)7+?n#omf zO3+!ulNGjiLrz=332JB%Uq&E;D7HUW^Y`E_rwxjL-`+HUArhF%{OgpZ zsnQUa42;E|F);2$ApYhQy~Lf-O=NAvZE0M?=h##xZPL13F9#gn`vzy^fg zA&_wVo;jK3??I2NQ$?X*w+;UOy#n!d`eZ7F9_RN*PYAiw!&k{(RBpW+6B8tIq*9{b#B5Do_+U3|U0$qL#Ehz5W$B;`N=c|W8E`tN{9K)YlJ zjRFI@f*Q~iLW1B-cL?c$K%)TN{Xngt(g)B6F0dEUw{9(IKz5{<04gHf{5U)Hin3Yu;48+obZ58 zxE^kg1$IEs!P5=e|F4AjU5^EA;RMt8o$%o80x%vR05u#)fDlOyB7$>f0x)Jg7@PmZ%08K!IyGhwHH*ffxxQ=nvB*sgXdwSO(|x$zX{H zIER^lCj}=0czWT!crfur8lWv0mwt`K0YRwI6P`$-=OiNF7nBpw7%;)badBW=JXq1N zB)A_A!h>852n){X2?Mty(1if!@c4A4!2$$40D&UlG4Y@eT`0eqgLBx<=-lAo8x$-e zm~D7!a1Ih(AMkLC34#Bmvwuk~UH}FcNnpT?K{q_i72q814x7Pmb^XqP$`HR9p;N$t z{WF+0oqgC2{-qDMg6BjxCO`?k|Cb8P6bgl)*Zm?uB9Nfp2{wd98-VR#X`;&-*ad78 zeXM*{n-vb)3ZTwE~%n2ww&>`Rzwt*EANe$=(whQ1`{!G7Z z;&%=U1?U|?&*AGo5?$Ae^>CYi6KofBy92o+?8@Mmnsh($`|ai*i#I*Y2l$U)%Qg@x z-JO6%8$!dU4WNp?Uen`4zzuy(2l@szh+nHd2Hsb}B;bg0x_1C(KrdPJ9GGAJ5nk(o zVbE(}e}JL8F2t|39|&`?hVCT5$vpjz?j60NB7m=;A6)}R z_CY`zi`~Hkw|M0N)|bUAcL*#P^xFLp{lyUI;R_xxxC{ZD3jGuTo(@FcWrHg!1fCOm z4}TC9zjze@yFGdth@t;QFA#Qsa2aqmzr_A~Nrofzje%V+a`RvPAFk)WLb%Z{RsB~8 zQ~s;)PyA#Kp5b3?{)a(SyghsZ0RM{|{zr}8^0zsx7)>DS3=bgI(lT&ISWXXx!V;H{i$Y=k?u$_a z%iL0WXbk=@dT100_?>0#P{b9=uqg1T!oNS{f`V6%C1og#8gL2A%0Sn@c*eqKrOVr4 z|B@97c+tPcz^Z|zetBOK2pL>f2DT%AmtpXK(Zdm7lZAi(&JBfw-Py7-Jo<0h<8gn_ z4G+74<$Yo3v#bnwmA}Ry;NV3A{{6=bf%tbB5&ic(h*-j3G9}`{Ywl(Ah(vg?T{;F) zP3*@ 1.2 * (Nperiods / fsin): + z() + adc.read() + vstart = adc.read() + + tstart = time() + for t in tsamps: + d = amplitude * sin(2*pi*fsin*t + ph) * sign(sin(2*pi*fh*t)) + vina(vcm + vios + d/2, mode=dac.INPUT) + vinb(vcm - vios - d/2) + sleep(stime) + tend = time() + + vina(vcm + vios) + vinb(vcm - vios) + + adc.read() + out = adc.read() + + #save data only if in range + dur = tend - tstart + print '.', + print + + vout.append(out) + duration.append(dur) + + sleep(0.2) + + +def code2v(c): + return c * (2.5 / 2**16) + +vout = array(vout) +vout = code2v(vout) - code2v(vstart) +duration = array(duration) + +#normalize by exact duration +vout = vout * (Nperiods / f0) / duration + + +wrapphase = (phase % (2*pi)) +plot(wrapphase*180/pi, vout, 'x') +xlabel('relative starting phase (deg)') + +ylabel('Vout (V)') +ylim((-0.8, 0.8)) + +title('fh=%5.1f, fin=%5.1f, f0=%3.1f' % (fh, fsin, f0)) + + + + + +if 1: + import datetime as dt + datestr = dt.datetime.now().strftime('%Y-%m-%d_%H%M%S') + + savefig('arb0-%s_%3.1f-%03.0f-%03.0f.pdf' % (datestr, f0, fh, fsin)) + + savez('arb0-%s_%3.1f-%03.0f-%03.0f.npz' % (datestr, f0, fh, fsin), + vout=vout, + duration=duration, + f0=f0, + fh=fh, + fsin=fsin, + phase=phase, + fs=fs, + Nperiods=Nperiods) + + dev.save_config('arb0-%s_%3.1f-%03.0f-%03.0f.yaml' % (datestr, f0, fh, fsin)) + + + +############################################################################## +# drop into an IPython shell +# +if do_shell and not in_ipython: + IPython.embed() + -- 2.25.1