plots for presenation
authorDan White <dan@whiteaudio.com>
Wed, 10 Oct 2012 16:02:50 +0000 (11:02 -0500)
committerDan White <dan@whiteaudio.com>
Wed, 10 Oct 2012 16:02:50 +0000 (11:02 -0500)
python-lib/dvdt-vs-vd.pdf [new file with mode: 0644]
python-lib/slope-test.py
python-lib/vo-raw-vd.pdf [new file with mode: 0644]

diff --git a/python-lib/dvdt-vs-vd.pdf b/python-lib/dvdt-vs-vd.pdf
new file mode 100644 (file)
index 0000000..335b949
Binary files /dev/null and b/python-lib/dvdt-vs-vd.pdf differ
index 9722725cbb009bcfe99ad71ea43bd414892d1f5a..225029613c8a10f8462a3e38aff3bf7207235afa 100644 (file)
 
 
-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 (file)
index 0000000..6d4b956
Binary files /dev/null and b/python-lib/vo-raw-vd.pdf differ