From 3a490ba65c2424d3222b72c01d1ef8317928fe9c Mon Sep 17 00:00:00 2001 From: Dan White Date: Mon, 11 Aug 2014 21:04:51 -0500 Subject: [PATCH] save changes --- .../arb0/harmonic-sin-phase/aht-05-05.pdf | Bin 199384 -> 199660 bytes .../arb0/harmonic-sin-phase/aht-05-15.pdf | Bin 199381 -> 199661 bytes .../arb0/harmonic-sin-phase/aht-05-20.pdf | Bin 198699 -> 198967 bytes .../arb0/harmonic-sin-phase/aht-10-10.pdf | Bin 199385 -> 199658 bytes .../arb0/harmonic-sin-phase/aht-10-30.pdf | Bin 199386 -> 199666 bytes .../harmonic-sin-phase/harmonic-phase-10.pdf | Bin 169782 -> 171464 bytes .../harmonic-sin-phase/harmonic-phase-5.pdf | Bin 169801 -> 171506 bytes .../harmonic-sin-phase/harmonic-phase.pdf | Bin 137900 -> 141556 bytes .../arb0/harmonic-sin-phase/harmonic-phase.py | 41 +++++++++--------- 9 files changed, 20 insertions(+), 21 deletions(-) diff --git a/python-lib/test-data/chip14/arb0/harmonic-sin-phase/aht-05-05.pdf b/python-lib/test-data/chip14/arb0/harmonic-sin-phase/aht-05-05.pdf index 7577de59c2dcabe736e3ee43710c2dda8fa756af..89d4c0b71f4987663781a8f6176b1484cd442df6 100644 GIT binary patch delta 3441 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 diff --git a/python-lib/test-data/chip14/arb0/harmonic-sin-phase/aht-05-15.pdf b/python-lib/test-data/chip14/arb0/harmonic-sin-phase/aht-05-15.pdf index 616596692d117cf07a361603b669eec17d2110c6..d706e7a6671590a4970782b279c30c59b4516e53 100644 GIT binary patch delta 3497 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 delta 3198 zcmZXTdpuO>AIF;+VHno^lA)o>`V&YV$+NJJ?O)d;y05#u^TheW!#H8@JEUy_gz zmDJK@OJ&ijRVZ?a_Sel;n-p8WnO477rt{BvUf=V5-rvvjIiKehPU$J6)He_?ms~1K zB{Tes{L|5z0<_kAMLUhI8nMk-+0X)2QQlCxzky7)li#)c*Z?EJ?L+9Kt;QK9e17cK zhr-kCK_wk8ayknQ-`zvsv0E3$Dqo2_c;oFq6}#Y7GYhWx#xZ^$w|jQ8K{ccgAGhg6 zouXv-HT2(53IEO6{GTT!6;0@cL2NzuMNe{K$C#cGe1Lp-+x|z|aSMr7y2f4W$y?Y1v&t@BVIkJbmZz#NgU9PCJkUf_Z&)g-ZOR zc`GLiQvS-1*W34A?H9qF=LvdA7W+-^EVb#&vUfEL8CJjFT$xjLs{ToqRkZsptia86 z^#jhDE@8K~I(nKTAM7Hu0z5oBJB|j`W%rtzwK<%NiirAI&_%!MG`%BB6Qf`Be%)mq zUuGuP?>)0^V~28a#-nJ1($PKKmfFN)@QPfYme^*!(Z)iDQr1vowOL@<)8;*H@(9Jc zOaE-0W6re$>XnQ7s_Kf%Cc85%vC@G5>Wg|>88+QsHI7r2BAV`V8T%aG?-@s~YH)15 zQ+aj~#k@s=#-O+6obZaWoD4u+%VS8pR{3yWW|5LBwQ7pCao@lpO%rSRu=5JJ*J)-& zt}DA9J^t&s%;Yvj2N?%_Rcf@6Op2vJ##M_G1)u-Cso==Hc+}lhi)dYu?_2h4~ zDA*WXb!orGFJqZSB*lq_3LU0qiluI-OzLOVPCvyxyw~r$+cJw3Lvw2BN!3$oUT50Y zI%`I1=bhM=Eh87Dr6`aMoitpESq*5k_TE#oROXSdXSjTE9RlmL{&wEBZlX`qcit)) zd;9RJ3ERQ8;PalNdgrdcWu5b!s<(>^cbC0$)7@ozkYeJwLX)xw7XsfP=gK|93D??8 zDjtO2vEl7-K9ihAYKT$y2=^VydokD)W0&KXZ{k_{D7wsK12w62xIpW$zb3}fKh3Nf zF?~yEcxAMy#;9qOS`rwoF%=-#8l;%^ex>^67aF7q-qQndnQE@0lB>KW=*|b>@)@3Yl1yETbXyqfKYco3wOngHmodd#5%=Npg}_U?il)AbrlG%~y=yK_ zKOAUrf%?X8tF{uFpoa`=G%yC+vgfQ`(JoK3)%mw=N?wEvT=On|@o?b7!+|}gHXg|< zIHs;FufG4&^j3-)Pwun45tpr}lZ?u4NC~|TI;j`UBjq&am>>Yru~NxxcZjBp?L zxBDDX^+MmG{@o3#831dt;D+w%#RaZ|qo$ck z&2K;Y<3Ay>b!53!Lk71md%GO3^;FYg4RN2aKMN89+hT^Ms%*$gSoZtgGu3v)HCMY0 z-hYV5vFq^)xHr(IV_K3vP03bGIG6@`jf7_V6nBE=LSaY$Bb~*;dLtpBDpvyXw&r-9 zuoL(pw<}*NLE%vWD%_LC-O2H?!}{s23A`So`-Kk*GM-s5w%7gA)q8qnCW+4%G62VD5*V2V-o zePy5H`nkT5%O;B2o<=m&H;hyB{6w06Bv986&F80V#1>N86TeVI!gPBFwfE20w_2?> zFQE=8D8JIVu=R@xH{A4Hxh~nGH@EV7`~3Oa0qXf4A%7~k^4e?f%*G|_^)@5~KQpe- zs(#rYwl}uf;0-lh=2q2BL1OaM*qfW7&d4T>IP4`kH>$gbe&H< zmR=d1h8o!FGQScBW3zU`;P}t%v0A0&cE@|C-!>Gq>~!o-UC;l^nLiajilJ*CpJ_VK zt?tr%0@}Oqa|^#)|NP9GR|~O}WqdBx{Zh8y*%5EwxSw*l?>#M`MeX%J=jWq3YuZ^m z7%jTx+}c+$`^$C~3Wj^)U#&ZR>a0(Xiq8st)?LS%Eo0r=o@?7Lec7hI^2Wz5t3f3# zUH^dLq2CVZRt_?hVGZr%$)}^DHqs;QOik-Q?sgo3F1uR{&y)~C+y+pOmO5+oV;{z> z`PA|u;iuPkZ|&tcUHURlhR~EInvpk91QmiJ1Ec)6D}ZpLG1-79;$RfqGL=Xsf{2Kx z*h4@X0ScK4eQ` z1Vln|Qen@9ux25grZE}uQ3#*}qA4D$B1i1RKgtp*qNNngrq6Q3J#hp;g3!f}rVtq_ z;9L$z!m+>y;Rw-S=IoM5gP_?ZNQ02sB}@aqH6Sz?z!~#N3vhfs$(FJfpn?Bxu(84ABs^Qi^T%*CGsSDCP)Wk0xW5vv9UX?8H^o%u{$H8Vk5%* z>HJ`NWKgUb&Bo?ikP>5pf)xN7jN*soNk9k;iOrQfv`CtQ} zYizMf=^97;$LH2i0A%6-ndF9vVRod-Z*1QP$Kxs5Oc|F9WmB2xZ{_p({ieH;{INsB?4u-L)xXJ7z;Fj@DghXXLB#EAF8kkkwifgu3Gei(wXq)rFIFz|yI z1cs$Wi&Mger4xa`=nsiNm>}@YX{G;13>A0cM-@p_$$ZImagU0MrG34gG{(j-L6A6~ alFagB{bFLjCKlwNEGD2}Y`n_NQQ?0Vs<;UN diff --git a/python-lib/test-data/chip14/arb0/harmonic-sin-phase/aht-05-20.pdf b/python-lib/test-data/chip14/arb0/harmonic-sin-phase/aht-05-20.pdf index 9ddb04d40cd6bbe2673a45e43d3f0a9f0a3b5238..7724524f1877a241ea2b734ac633e61bac1c94dc 100644 GIT binary patch delta 2778 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 CO|RSl diff --git a/python-lib/test-data/chip14/arb0/harmonic-sin-phase/aht-10-10.pdf b/python-lib/test-data/chip14/arb0/harmonic-sin-phase/aht-10-10.pdf index 21a4a8e4b63234f1b5ceefc27e10a88f7d46c59d..fe4cb13357f7980d0ea572d2523a8ad287e20d03 100644 GIT binary patch delta 3479 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 Ulsz}aSPY#>C+h0jI@%Hc3;t|AV*mgE delta 3166 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 ahFC(OVeag(MFEK-s1zzrSJ%SM68C=(A={V$ diff --git a/python-lib/test-data/chip14/arb0/harmonic-sin-phase/harmonic-phase-10.pdf b/python-lib/test-data/chip14/arb0/harmonic-sin-phase/harmonic-phase-10.pdf index e9699df09809c31af56d959653b9160fc17f9189..669a78e6ec6ca313cd7c56294c6cc0f6c6b97b3f 100644 GIT binary patch delta 5845 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 A-~a#s delta 4470 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 JM&pVm^naHbgtq_y diff --git a/python-lib/test-data/chip14/arb0/harmonic-sin-phase/harmonic-phase-5.pdf b/python-lib/test-data/chip14/arb0/harmonic-sin-phase/harmonic-phase-5.pdf index 29db6bb15384bd997069bb5f241a3f6e434a3b72..489449ac944bbfff3e7497241505e2e06d238674 100644 GIT binary patch delta 5738 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 Lmyyvl(8B)@fuJb8 delta 4516 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 diff --git a/python-lib/test-data/chip14/arb0/harmonic-sin-phase/harmonic-phase.py b/python-lib/test-data/chip14/arb0/harmonic-sin-phase/harmonic-phase.py index b31fe60..6309d70 100644 --- a/python-lib/test-data/chip14/arb0/harmonic-sin-phase/harmonic-phase.py +++ b/python-lib/test-data/chip14/arb0/harmonic-sin-phase/harmonic-phase.py @@ -100,15 +100,15 @@ text(0.55, 0.01, horizontalalignment='center', rotation='horizontal') -#savefig('harmonic-phase.pdf') +savefig('harmonic-phase.pdf') # # 5 Hz basis row only # -fig = figure(figsize=(6.0, 2.0)) -subplots_adjust(top=0.97, bottom=0.25, left=0.10, right=0.98) +fig = figure(figsize=(6.0, 1.5)) +subplots_adjust(top=0.95, bottom=0.28, left=0.10, right=0.98) for name in glob('arb0-*5.0-005-*.npz'): # ['f0', 'fs', 'vout', 'phase', 'Nperiods', 'fh', 'fsin', 'duration'] @@ -186,7 +186,7 @@ for name in glob('arb0-*5.0-005-*.npz'): # verticalalignment='center', # rotation='vertical') -text(0.55, 0.02, +text(0.55, 0.03, 'Input frequency', size='large', transform=fig.transFigure, @@ -199,8 +199,8 @@ savefig('harmonic-phase-5.pdf') # # 10 Hz basis row only # -fig = figure(figsize=(6.0, 2.0)) -subplots_adjust(top=0.97, bottom=0.25, left=0.10, right=0.98) +fig = figure(figsize=(6.0, 1.5)) +subplots_adjust(top=0.95, bottom=0.28, left=0.10, right=0.98) for name in glob('arb0-*5.0-010-*.npz'): # ['f0', 'fs', 'vout', 'phase', 'Nperiods', 'fh', 'fsin', 'duration'] @@ -278,7 +278,7 @@ for name in glob('arb0-*5.0-010-*.npz'): # verticalalignment='center', # rotation='vertical') -text(0.55, 0.02, +text(0.55, 0.03, 'Input frequency', size='large', transform=fig.transFigure, @@ -293,20 +293,20 @@ savefig('harmonic-phase-10.pdf') -x = 5.0 * arange(1, 8) +#x = 5.0 * arange(1, 8) -figure() -subplot(211) -plot(x, zphase_outs[0,:], 'o') -plot([0, 70], [0, 0], '-k') -ylim((-0.1, 0.8)) -xlim((4, 31)) +#figure() +#subplot(211) +#plot(x, zphase_outs[0,:], 'o') +#plot([0, 70], [0, 0], '-k') +#ylim((-0.1, 0.8)) +#xlim((4, 31)) -subplot(212) -plot(x, zphase_outs[1,:], 'o') -plot([0, 70], [0, 0], '-k') -ylim((-0.1, 0.8)) -xlim((4, 31)) +#subplot(212) +#plot(x, zphase_outs[1,:], 'o') +#plot([0, 70], [0, 0], '-k') +#ylim((-0.1, 0.8)) +#xlim((4, 31)) #savefig('tmp.pdf') @@ -321,7 +321,6 @@ for fh, fsin in ((5, 5), (5, 20), (10, 10), (10, 30)): - break fig = figure(figsize=(5.0, 3.0)) subplots_adjust(top=0.92, bottom=0.14, left=0.12, right=0.96) @@ -353,7 +352,7 @@ for fh, fsin in ((5, 5), xlabel(r'$\Delta \phi$, deg') ylim((-0.8, 0.8)) - ylabel('$y_{I,%i}$ (V)' % (fsin/fh)) + ylabel('$y_{Q,%i}$ (V)' % (fsin/fh)) if fsin/fh in (1, 3, 5): legend(loc='lower right') -- 2.25.1