From 6c252fc99973379e27e4b9f6c1049b264f70b68f Mon Sep 17 00:00:00 2001 From: Dan White Date: Wed, 10 Oct 2012 11:02:50 -0500 Subject: [PATCH] plots for presenation --- python-lib/dvdt-vs-vd.pdf | Bin 0 -> 12187 bytes python-lib/slope-test.py | 162 +++++++++++++++++++++++++++++--------- python-lib/vo-raw-vd.pdf | Bin 0 -> 25643 bytes 3 files changed, 123 insertions(+), 39 deletions(-) create mode 100644 python-lib/dvdt-vs-vd.pdf create mode 100644 python-lib/vo-raw-vd.pdf diff --git a/python-lib/dvdt-vs-vd.pdf b/python-lib/dvdt-vs-vd.pdf new file mode 100644 index 0000000000000000000000000000000000000000..335b949c72c48a292c02538a529479af9208e4d6 GIT binary patch literal 12187 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 literal 0 HcmV?d00001 diff --git a/python-lib/slope-test.py b/python-lib/slope-test.py index 9722725..2250296 100644 --- a/python-lib/slope-test.py +++ b/python-lib/slope-test.py @@ -1,54 +1,138 @@ -def z(): - c0.otaA.zero = 1 - chain.write() - c0.otaA.zero = 0 - chain.write() +if 1: + + def z(): + c0.otaA.zero = 1 + chain.write() + c0.otaA.zero = 0 + chain.write() + + def vdiff(d): + dac.vina(vos - d - vdos) + dac.vinb(vos + d + vdos) -def vdiff(d): - dac.vina(vos - d - vdos) - dac.vinb(vos + d + vdos) + c0 = chain.h[0] -c0 = chain.h[0] + mux.selA = 0 + mux.selB = 0 + mux.otaA.mode = mux.otaA.MUX_BUF + mux.otaA.fast = 1 + mux.write() -mux.selA = 0 -mux.selB = 0 -mux.otaA.mode = mux.otaA.MUX_BUF -mux.otaA.fast = 1 -mux.write() + dac.vbias_core(0.05) + dac.vbias_buf(0.05) + + c0.otaA.fast = 1 + c0.otaA.gain = 0 + c0.otaA.se = 1 + c0.otaB.se = 1 + c0.otaA.cint = 1 + c0.otaA.offset = 0 + chain.write() -dac.vbias_core(0.05) -dac.vbias_buf(0.05) -c0.otaA.fast = 1 -c0.otaA.gain = 0 -c0.otaA.se = 1 -c0.otaB.se = 1 -c0.otaA.cint = 1 -c0.otaA.offset = 0 -chain.write() + vcm = 1.25 + vos = vcm + 0.000 + vdos = -0.02 + dac.vcmi(vcm) + dac.vina(vos) + dac.vinb(vos) -vcm = 1.25 -vos = vcm + 0.000 -vdos = -0.02 + adc.triggerMode(adc.MODE_IDLE) + adc.mux(4) + adc.channelMode(4, adc.SE) #even channel only + adc.channelGain(4, 1) + adc.channelGain(5, 1) + adc.triggerMode(adc.MODE_MANUAL_MANUAL) -dac.vcmi(vcm) -dac.vina(vos) -dac.vinb(vos) + vi = [] + vo = [] + + itime = 0.100 + htime = 0.000 + z() + for vd in arange(-0.08, 0.08001, 0.010): + print vd + vdiff(vd) + z() + adc.read() + for i in xrange(1000): + vi.append(vd) + vo.append(adc.read()) + #sleep(itime) + vdiff(0) + sleep(htime) -itime = 0.150 -htime = 0.050 -z() -for vd in arange(-0.08, 0.08001, 0.010): - print vd - vdiff(vd) z() - sleep(itime) - vdiff(0) - sleep(htime) -z() + +vi = array(vi) +vo = array(vo) + + +d = {} +for vd in sorted(set(vi)): + s = '%6.3f' % vd + idx = find(vi == vd) + d[s] = vo[idx] + + +vdi = [] +gm = [] +for vd in sorted(set(vi)): + s = '%6.3f' % vd + dds = diff(d[s]) + + #clf() + #plot(dds) + #ylim((-100, 100)) + + md = mean(dds[10:200]) + idx = find(dds < (2 * md)) + dds = dds[idx] + md = mean(dds) + vdi.append(vd) + gm.append(md) + + +vdi = array(vdi) +gm = array(gm) + + +if 0: + close('all') + figure(figsize=(5.0, 4.0)) + + plot(-1e3*vdi, gm, '+') + + xlim((-80, 80)) + ylim((-80, 40)) + + ylabel('dVout / dt (arb.)') + xlabel('Vdi (mV)') + title('Differential gm') + + savefig('dvdt-vs-vd.pdf') + + +if 1: + interactive(False) + close('all') + figure(figsize=(5.0, 4.0)) + + x = array(range(len(vo))) + plot(x/1e3, vo/1e3) + #plot(-1e3*vdi, gm, '+') + + #xlim((-80, 80)) + #ylim((-80, 40)) + + ylabel('ADC k-counts') + xlabel('k-samples') + title('Raw Vout vs. Vdi $\pm80 mV$') + + savefig('vo-raw-vd.pdf') diff --git a/python-lib/vo-raw-vd.pdf b/python-lib/vo-raw-vd.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6d4b956512e5ccc19c27d55559c28f54cb443e73 GIT binary patch literal 25643 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 V!ov&4dI8-bkYqeOikeDf{|}){q#6JK literal 0 HcmV?d00001 -- 2.25.1