r4511 - in developers/werner: . mic

werner at docs.openmoko.org werner at docs.openmoko.org
Mon Jul 7 14:47:52 CEST 2008


Author: werner
Date: 2008-07-07 14:47:52 +0200 (Mon, 07 Jul 2008)
New Revision: 4511

Added:
   developers/werner/mic/
   developers/werner/mic/README
   developers/werner/mic/SIMULATE
   developers/werner/mic/a6.sch
   developers/werner/mic/a7.sch
   developers/werner/mic/dat2qdf
   developers/werner/mic/out2dat
   developers/werner/mic/wolfson.sch
Log:
Simulation of the GTA02 microphone input circuit.



Added: developers/werner/mic/README
===================================================================
--- developers/werner/mic/README	                        (rev 0)
+++ developers/werner/mic/README	2008-07-07 12:47:52 UTC (rev 4511)
@@ -0,0 +1,79 @@
+Circuit models
+--------------
+
+This directory contails three Qucs models of the microphone input
+circuit:
+
+- a6.sch
+
+  Original GTA02v6 circuit and audio settings.
+
+- a7.sch
+
+  The settings and circuit proposed for GTA02v7. The changes are as
+  follows:
+
+  - swap MIC2 and MIC2N (so the single-ended microphone moves from
+    MIC2 to MIC2N)
+  - increase C3013 (do we go all the way to 4.7uF ?)
+  - Vmid voltage dividers set to 50k/50k
+
+- wolfson.sch
+
+  This is the circuit as Wolfson have intended it to be. Differences
+  from a6.sch:
+
+  - C4304 is increased from 100nF to 1uF
+  - C3013 is increased from 100nF to 4.7uF
+  - MIC2N is connected to VREF (I removed C4303, since it has no
+    function in this case)
+  - Vmid voltage dividers set to 50k/50k
+
+
+Frequency sweep
+---------------
+
+In http://people.openmoko.org/werner/mic/, the files a6.ps, a7.ps, and
+wolfson.ps show gain and phase difference for a frequency sweep from 10Hz
+to 10kHz (the human ear picks up frequencies from 20Hz to 20kHz). We can
+see that a6 and a7 both act like high-pass filters, while the Wolfson
+design is fairly linear.
+
+
+Audio simulation
+----------------
+
+The big question is of course: what does it sound like ? The simulation
+can also be used to process a real-life audio sample. See file SIMULATE
+for this.
+
+I used a short sequence from the FGTH's "Two Tribes", with the voice
+sample from Patrick Allen. To better approximate the sound quality we'll
+actually need for GSM (and to make the simulation a bit less CPU-hungry)
+I reduced the sample rate to 20ksamples/s.
+
+The results are in https://people.internal.openmoko.org/werner/mic/
+(to make comparison easier, I've adjusted the amplitudes so that they
+all have about the same volume).
+
+orig.ogg is the signal at its original sample rate of 44.1ksamples/s.
+in.ogg is the signal used for the "microphone" input. (Amplified to
+sound roughly as loud as the rest.)
+
+Findings: a faint reduction of lower frequencies can be heard when
+comparing a6 and a7 to the Wolfson design, but all this is dominated
+by the effects of downsampling to 20ksamples/s. There are no other
+audible distortions.
+
+
+Model details
+-------------
+
+This is how the parameters were chosen:
+
+- the overall gain is 18dB
+- R1: dimensioned to obtain a 18dB gain, as a function of R2
+- R2: 18kOhm at 18dB is from the WM8753L data sheet, page 7 (Rmic2n)
+- R3: 163kOhm is from the data sheet (Rmic2)
+- R4 and R5 are given by the Vmid settings. Note that we used to have an
+  incorrect setting of 500kOhm/500kOhm in the past, as Andy discovered.

Added: developers/werner/mic/SIMULATE
===================================================================
--- developers/werner/mic/SIMULATE	                        (rev 0)
+++ developers/werner/mic/SIMULATE	2008-07-07 12:47:52 UTC (rev 4511)
@@ -0,0 +1,56 @@
+Simulating processing of an audio stream:
+
+- pick the source, e.g.,
+
+  F="Frankie Goes To Hollywood - Two Tribes (Carnage\ Mix).mp3"
+
+- extract example, apply restrictions, and convert to the SoX .dat format.
+  E.g.,
+
+  sox "$F" -r 20000 -c 1 test.dat vol 0.2 trim 460 10
+
+  Restrictions:
+  - sample rate 20ksamples/s (-r 20000)
+  - mono (-c 1)
+  - reduce amplitude to 20% to simulate microphone input (vol 0.2)
+  - start at 460 seconds and extract 10 seconds (trim 460 10)
+
+- convert to the Qucs input file format:
+
+  ./dat2qdf test.dat >test.qdf
+
+- in Qucs, set up the simulation and generate the netlist:
+
+  - load the .sch file
+  - make a transient simulation with at least 4 steps per sample
+  - add a file-based voltage source reading test.qdf
+  - start the simulation (just to generate the netlist)
+  - abort the simulation
+
+- get the netlist (let's call this experiment "wolfson"):
+
+   cp ~/.qucs/netlist.txt wolfson.net
+
+- run the circuit simulation:
+
+  qucsator -b -i wolfson.net -o wolfson.qdat
+
+- convert the simulation data to a SoX .dat file
+
+  ./out2dat -a -o 1.67 wolfson.qdat >wolfson.dat
+
+  The first number sets the amplification. The second number is how
+  many seconds of the input we skip. (To allow for the circuit to
+  settle.)
+
+- plat back with SoX:
+
+  play wolfson.dat
+
+  or, to adjust the volume, e.g.,
+
+  play wolfson.dat vol 2
+
+- convert to Ogg:
+
+  sox wolfson.dat wolfson.ogg

Added: developers/werner/mic/a6.sch
===================================================================
--- developers/werner/mic/a6.sch	                        (rev 0)
+++ developers/werner/mic/a6.sch	2008-07-07 12:47:52 UTC (rev 4511)
@@ -0,0 +1,101 @@
+<Qucs Schematic 0.0.13>
+<Properties>
+  <View=-214,-40,1426,928,1,0,0>
+  <Grid=10,10,1>
+  <DataSet=a6.dat>
+  <DataDisplay=a6.dpl>
+  <OpenDisplay=1>
+  <showFrame=0>
+  <FrameText0=Title>
+  <FrameText1=Drawn By:>
+  <FrameText2=Date:>
+  <FrameText3=Revision:>
+</Properties>
+<Symbol>
+</Symbol>
+<Components>
+  <GND * 1 -40 600 0 0 0 0>
+  <R R2 1 390 380 -26 -59 0 2 "18 kOhm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "european" 0>
+  <OpAmp OP2 1 700 400 -26 -86 1 0 "1e6" 1 "15 V" 0>
+  <Vac V1 1 -40 550 18 -26 0 1 "0.1 V" 1 "1 kHz" 0 "0" 0 "0" 0>
+  <R R1 1 710 280 -26 -59 1 0 "125 kOhm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "european" 0>
+  <GND * 1 1220 290 0 0 0 0>
+  <Vdc V2 1 1220 210 18 -26 0 1 "3.3 V" 1>
+  <GND * 1 1100 300 0 0 0 0>
+  <OpAmp OP3 1 420 160 -26 42 1 2 "1e6" 1 "15 V" 0>
+  <GND * 1 880 260 0 0 0 0>
+  <R R3 1 520 230 15 -26 0 1 " 163 kOhm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "european" 0>
+  <Eqn Eqn1 1 -130 700 -31 17 0 0 "db=dB(Vout.v/V1.U)" 1 "ph=phase(Vout.v)" 1 "yes" 0>
+  <C C4304 1 70 420 -26 17 1 2 "100 nF" 1 "1.66" 1 "polar" 0>
+  <C C3013 1 1100 210 17 -26 1 3 "100 nF" 1 "1.67" 1 "polar" 0>
+  <C C4305 1 70 380 -26 -83 0 2 "100 nF" 1 "1.66" 1 "polar" 0>
+  <GND * 1 -140 600 0 0 0 0>
+  <R R4 1 880 90 15 -26 0 1 "500 kOhm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "european" 0>
+  <R R5 1 880 190 15 -26 0 1 "500 kOhm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "european" 0>
+  <.AC AC1 1 20 70 0 44 0 0 "log" 1 "10 Hz" 1 "10 kHz" 1 "1000" 1 "no" 0>
+  <.DC DC1 1 -160 -20 0 44 0 0 "26.85" 0 "0.001" 0 "1 pA" 0 "1 uV" 0 "no" 0 "150" 0 "no" 0 "none" 0 "CroutLU" 0>
+  <Vfile V3 0 80 550 18 -26 0 1 "/home/moko/svn.openmoko.org/developers/werner/mic/test.qdf" 1 "cubic" 0 "no" 0 "1" 0 "0" 0>
+  <.TR TR1 0 -160 60 0 73 0 0 "lin" 1 "0" 1 "10 s" 1 "80000" 1 "AdamsMoulton" 1 "6" 1 "1 ns" 0 "1e-16" 0 "150" 0 "0.001" 0 "1 pA" 0 "1 uV" 0 "26.85" 0 "1e-3" 0 "1e-6" 0 "1" 0 "CroutLU" 0 "no" 0 "yes" 0 "0" 0>
+</Components>
+<Wires>
+  <-40 600 -40 620 "" 0 0 0 "">
+  <-40 580 -40 600 "" 0 0 0 "">
+  <610 380 670 380 "" 0 0 0 "">
+  <610 280 610 380 "" 0 0 0 "">
+  <610 280 680 280 "" 0 0 0 "">
+  <740 280 800 280 "" 0 0 0 "">
+  <740 400 800 400 "" 0 0 0 "">
+  <800 400 850 400 "" 0 0 0 "">
+  <800 280 800 400 "" 0 0 0 "">
+  <-40 420 -40 520 "" 0 0 0 "">
+  <-40 420 40 420 "" 0 0 0 "">
+  <100 420 520 420 "" 0 0 0 "">
+  <1220 240 1220 290 "" 0 0 0 "">
+  <1100 240 1100 300 "" 0 0 0 "">
+  <1100 140 1100 180 "" 0 0 0 "">
+  <180 160 340 160 "" 0 0 0 "">
+  <340 160 340 260 "" 0 0 0 "">
+  <340 260 480 260 "" 0 0 0 "">
+  <480 180 480 260 "" 0 0 0 "">
+  <450 180 480 180 "" 0 0 0 "">
+  <450 140 520 140 "" 0 0 0 "">
+  <520 140 880 140 "" 0 0 0 "">
+  <520 140 520 200 "" 0 0 0 "">
+  <420 380 610 380 "" 0 0 0 "">
+  <1220 20 1220 180 "" 0 0 0 "">
+  <880 20 1220 20 "" 0 0 0 "">
+  <880 140 1100 140 "" 0 0 0 "">
+  <880 120 880 140 "" 0 0 0 "">
+  <880 20 880 60 "" 0 0 0 "">
+  <520 420 670 420 "" 0 0 0 "">
+  <520 260 520 420 "" 0 0 0 "">
+  <880 140 880 160 "" 0 0 0 "">
+  <880 220 880 260 "" 0 0 0 "">
+  <100 380 360 380 "" 0 0 0 "">
+  <-140 380 -140 600 "" 0 0 0 "">
+  <-140 380 40 380 "" 0 0 0 "">
+  <340 160 380 160 "" 0 0 0 "">
+  <-40 580 80 580 "" 0 0 0 "">
+  <-40 520 80 520 "" 0 0 0 "">
+  <850 400 850 400 "Vout" 870 350 0 "">
+  <520 140 520 140 "Vmid" 560 80 0 "">
+</Wires>
+<Diagrams>
+  <Rect 118 781 362 184 3 #c0c0c0 1 10 1 0 1000 10000 1 10 1 30 1 -1 0.5 1 315 0 225 "" "" "">
+	<"db" #0000ff 0 3 0 0 0>
+  </Rect>
+  <Rect 540 784 357 184 3 #c0c0c0 1 10 1 0 2000 10000 1 -6.02409 20 68.6681 1 -1 0.5 1 315 0 225 "" "" "">
+	<"ph" #0000ff 0 3 0 0 0>
+  </Rect>
+  <Rect 976 784 362 184 3 #c0c0c0 1 10 0 10 2000 10000 1 -0.00106631 0.005 0.012901 1 -1 1 1 315 0 225 "" "" "">
+	<"Vmid.v" #0000ff 0 3 0 0 0>
+  </Rect>
+</Diagrams>
+<Paintings>
+  <Text 240 350 12 #000000 0 "MIC2N">
+  <Text 250 430 12 #000000 0 "MIC2">
+  <Text 250 130 12 #000000 0 "VREF">
+  <Text 1030 110 12 #000000 0 "VMID">
+  <Text 1030 -10 12 #000000 0 "AVDD">
+  <Rectangle 300 -20 720 500 #00aa00 2 2 #c0c0c0 1 0>
+</Paintings>

Added: developers/werner/mic/a7.sch
===================================================================
--- developers/werner/mic/a7.sch	                        (rev 0)
+++ developers/werner/mic/a7.sch	2008-07-07 12:47:52 UTC (rev 4511)
@@ -0,0 +1,101 @@
+<Qucs Schematic 0.0.13>
+<Properties>
+  <View=-214,-40,1426,928,1,0,0>
+  <Grid=10,10,1>
+  <DataSet=a7.dat>
+  <DataDisplay=a7.dpl>
+  <OpenDisplay=1>
+  <showFrame=0>
+  <FrameText0=Title>
+  <FrameText1=Drawn By:>
+  <FrameText2=Date:>
+  <FrameText3=Revision:>
+</Properties>
+<Symbol>
+</Symbol>
+<Components>
+  <GND * 1 -40 600 0 0 0 0>
+  <R R2 1 390 380 -26 -59 0 2 "18 kOhm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "european" 0>
+  <OpAmp OP2 1 700 400 -26 -86 1 0 "1e6" 1 "15 V" 0>
+  <Vac V1 1 -40 550 18 -26 0 1 "0.1 V" 1 "1 kHz" 0 "0" 0 "0" 0>
+  <R R1 1 710 280 -26 -59 1 0 "125 kOhm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "european" 0>
+  <GND * 1 1220 290 0 0 0 0>
+  <Vdc V2 1 1220 210 18 -26 0 1 "3.3 V" 1>
+  <GND * 1 1100 300 0 0 0 0>
+  <OpAmp OP3 1 420 160 -26 42 1 2 "1e6" 1 "15 V" 0>
+  <GND * 1 880 260 0 0 0 0>
+  <R R3 1 520 230 15 -26 0 1 " 163 kOhm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "european" 0>
+  <Eqn Eqn1 1 -130 700 -31 17 0 0 "db=dB(Vout.v/V1.U)" 1 "ph=phase(Vout.v)" 1 "yes" 0>
+  <C C4305 1 70 380 -26 -83 0 2 "100 nF" 1 "1.66" 1 "polar" 0>
+  <GND * 1 -140 600 0 0 0 0>
+  <.AC AC1 1 20 70 0 44 0 0 "log" 1 "10 Hz" 1 "10 kHz" 1 "1000" 1 "no" 0>
+  <.DC DC1 1 -160 -20 0 44 0 0 "26.85" 0 "0.001" 0 "1 pA" 0 "1 uV" 0 "no" 0 "150" 0 "no" 0 "none" 0 "CroutLU" 0>
+  <Vfile V3 0 80 550 18 -26 0 1 "/home/moko/svn.openmoko.org/developers/werner/mic/test.qdf" 1 "cubic" 0 "no" 0 "1" 0 "0" 0>
+  <.TR TR1 0 -160 60 0 73 0 0 "lin" 1 "0" 1 "10 s" 1 "800000" 1 "AdamsMoulton" 1 "6" 1 "1 ns" 0 "1e-16" 0 "150" 0 "0.001" 0 "1 pA" 0 "1 uV" 0 "26.85" 0 "1e-3" 0 "1e-6" 0 "1" 0 "CroutLU" 0 "no" 0 "yes" 0 "0" 0>
+  <R R5 1 880 190 15 -26 0 1 "50 kOhm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "european" 0>
+  <R R4 1 880 90 15 -26 0 1 "50 kOhm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "european" 0>
+  <C C3013 1 1100 210 17 -26 1 3 "4.7 uF" 1 "1.67" 1 "polar" 0>
+  <C C4304 1 70 420 -26 17 1 2 "100 nF" 1 "1.66" 1 "polar" 0>
+</Components>
+<Wires>
+  <-40 600 -40 620 "" 0 0 0 "">
+  <-40 580 -40 600 "" 0 0 0 "">
+  <610 380 670 380 "" 0 0 0 "">
+  <610 280 610 380 "" 0 0 0 "">
+  <610 280 680 280 "" 0 0 0 "">
+  <740 280 800 280 "" 0 0 0 "">
+  <740 400 800 400 "" 0 0 0 "">
+  <800 400 850 400 "" 0 0 0 "">
+  <800 280 800 400 "" 0 0 0 "">
+  <100 420 520 420 "" 0 0 0 "">
+  <1220 240 1220 290 "" 0 0 0 "">
+  <1100 240 1100 300 "" 0 0 0 "">
+  <1100 140 1100 180 "" 0 0 0 "">
+  <180 160 340 160 "" 0 0 0 "">
+  <340 160 340 260 "" 0 0 0 "">
+  <340 260 480 260 "" 0 0 0 "">
+  <480 180 480 260 "" 0 0 0 "">
+  <450 180 480 180 "" 0 0 0 "">
+  <450 140 520 140 "" 0 0 0 "">
+  <520 140 880 140 "" 0 0 0 "">
+  <520 140 520 200 "" 0 0 0 "">
+  <420 380 610 380 "" 0 0 0 "">
+  <1220 20 1220 180 "" 0 0 0 "">
+  <880 20 1220 20 "" 0 0 0 "">
+  <880 140 1100 140 "" 0 0 0 "">
+  <880 120 880 140 "" 0 0 0 "">
+  <880 20 880 60 "" 0 0 0 "">
+  <520 420 670 420 "" 0 0 0 "">
+  <520 260 520 420 "" 0 0 0 "">
+  <880 140 880 160 "" 0 0 0 "">
+  <880 220 880 260 "" 0 0 0 "">
+  <340 160 380 160 "" 0 0 0 "">
+  <-40 580 80 580 "" 0 0 0 "">
+  <-40 520 80 520 "" 0 0 0 "">
+  <100 380 360 380 "" 0 0 0 "">
+  <-40 380 -40 520 "" 0 0 0 "">
+  <-40 380 40 380 "" 0 0 0 "">
+  <-140 420 -140 600 "" 0 0 0 "">
+  <-140 420 40 420 "" 0 0 0 "">
+  <850 400 850 400 "Vout" 870 350 0 "">
+  <520 140 520 140 "Vmid" 560 80 0 "">
+</Wires>
+<Diagrams>
+  <Rect 118 781 362 184 3 #c0c0c0 1 10 1 0 1000 10000 1 10 1 30 1 -1 0.5 1 315 0 225 "" "" "">
+	<"db" #0000ff 0 3 0 0 0>
+  </Rect>
+  <Rect 540 784 357 184 3 #c0c0c0 1 10 1 0 2000 10000 1 -6.02409 20 68.6681 1 -1 0.5 1 315 0 225 "" "" "">
+	<"ph" #0000ff 0 3 0 0 0>
+  </Rect>
+  <Rect 976 784 362 184 3 #c0c0c0 1 10 0 10 2000 10000 1 -0.00106631 0.005 0.012901 1 -1 1 1 315 0 225 "" "" "">
+	<"Vmid.v" #0000ff 0 3 0 0 0>
+  </Rect>
+</Diagrams>
+<Paintings>
+  <Text 240 350 12 #000000 0 "MIC2N">
+  <Text 250 430 12 #000000 0 "MIC2">
+  <Text 250 130 12 #000000 0 "VREF">
+  <Text 1030 110 12 #000000 0 "VMID">
+  <Text 1030 -10 12 #000000 0 "AVDD">
+  <Rectangle 300 -20 720 500 #00aa00 2 2 #c0c0c0 1 0>
+</Paintings>

Added: developers/werner/mic/dat2qdf
===================================================================
--- developers/werner/mic/dat2qdf	                        (rev 0)
+++ developers/werner/mic/dat2qdf	2008-07-07 12:47:52 UTC (rev 4511)
@@ -0,0 +1,2 @@
+#!/usr/bin/awk -f
+!/^;/ { print $1 "," $2 }


Property changes on: developers/werner/mic/dat2qdf
___________________________________________________________________
Name: svn:executable
   + *

Added: developers/werner/mic/out2dat
===================================================================
--- developers/werner/mic/out2dat	                        (rev 0)
+++ developers/werner/mic/out2dat	2008-07-07 12:47:52 UTC (rev 4511)
@@ -0,0 +1,71 @@
+#!/usr/bin/perl
+
+
+sub usage
+{
+    print STDERR "usage: $0 [-a] [-f factor] [-o offset] [-s skip] file ...\n";
+    print STDERR "  -a         autoscale\n";
+    print STDERR "  -f factor  multiply with factor\n";
+    print STDERR "  -o offset  subtract DC offset\n";
+    print STDERR "  -s skip    skip that many seconds\n";
+    exit(1);
+}
+
+
+while ($ARGV[0] =~ /^-/) {
+    $opt = shift @ARGV;
+    if ($opt eq "-a") {
+	$auto = 1;
+    }
+    elsif ($opt eq "-f") {
+	$f = shift @ARGV;
+    }
+    elsif ($opt eq "-o") {
+	$offset = shift @ARGV;
+    }
+    elsif ($opt eq "-s") {
+	$skip = shift @ARGV;
+    }
+    else {
+	&usage;
+    }
+}
+
+&usage if $auto && defined $factor;
+
+while (<>) {
+    chop;
+    if (/<indep time \d+>/) {
+	*a = *t;
+	next;
+    }
+    elsif (/<dep Vout.Vt time>/) {
+	*a = *v;
+	next;
+    }
+    elsif (/</) {
+	undef *a;
+    }
+    next unless defined *a;
+    s/^\s*//;
+    push(@a, $_);
+}
+print "; Sample Rate ", 1/($t[1]-$t[0]), "\n";
+if (defined $skip) {
+    while ($t[0] < $skip) {
+	pop(@t);
+	pop(@v);
+    }   
+}
+if ($auto) {
+    $f = 0;
+    for (@v) {
+	$f = abs($_-$offset) if $f < abs($_-$offset);
+    }
+    $f = 1/$f;
+    print STDERR "f=$f\n";
+}
+print "; Channels 1\n";
+for ($i = 0; $i != @t; $i++) {
+    print $t[$i], " ", ($v[$i]-$offset)*$f, "\n";
+}


Property changes on: developers/werner/mic/out2dat
___________________________________________________________________
Name: svn:executable
   + *

Added: developers/werner/mic/wolfson.sch
===================================================================
--- developers/werner/mic/wolfson.sch	                        (rev 0)
+++ developers/werner/mic/wolfson.sch	2008-07-07 12:47:52 UTC (rev 4511)
@@ -0,0 +1,103 @@
+<Qucs Schematic 0.0.13>
+<Properties>
+  <View=-214,-40,1426,928,1,0,0>
+  <Grid=10,10,1>
+  <DataSet=wolfson.dat>
+  <DataDisplay=wolfson.dpl>
+  <OpenDisplay=1>
+  <showFrame=0>
+  <FrameText0=Title>
+  <FrameText1=Drawn By:>
+  <FrameText2=Date:>
+  <FrameText3=Revision:>
+</Properties>
+<Symbol>
+</Symbol>
+<Components>
+  <GND * 1 -40 600 0 0 0 0>
+  <R R2 1 390 380 -26 -59 0 2 "18 kOhm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "european" 0>
+  <OpAmp OP2 1 700 400 -26 -86 1 0 "1e6" 1 "15 V" 0>
+  <Vac V1 1 -40 550 18 -26 0 1 "0.1 V" 1 "1 kHz" 0 "0" 0 "0" 0>
+  <R R1 1 710 280 -26 -59 1 0 "125 kOhm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "european" 0>
+  <GND * 1 1220 290 0 0 0 0>
+  <Vdc V2 1 1220 210 18 -26 0 1 "3.3 V" 1>
+  <GND * 1 1100 300 0 0 0 0>
+  <OpAmp OP3 1 420 160 -26 42 1 2 "1e6" 1 "15 V" 0>
+  <GND * 1 880 260 0 0 0 0>
+  <R R3 1 520 230 15 -26 0 1 " 163 kOhm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "european" 0>
+  <Eqn Eqn1 1 -130 700 -31 17 0 0 "db=dB(Vout.v/V1.U)" 1 "ph=phase(Vout.v)" 1 "yes" 0>
+  <C C4305 0 70 380 -26 -83 0 2 "100 nF" 1 "1.66" 1 "polar" 0>
+  <GND * 1 -140 600 0 0 0 0>
+  <.AC AC1 1 20 70 0 44 0 0 "log" 1 "10 Hz" 1 "10 kHz" 1 "1000" 1 "no" 0>
+  <.DC DC1 1 -160 -20 0 44 0 0 "26.85" 0 "0.001" 0 "1 pA" 0 "1 uV" 0 "no" 0 "150" 0 "no" 0 "none" 0 "CroutLU" 0>
+  <Vfile V3 0 80 550 18 -26 0 1 "/home/moko/svn.openmoko.org/developers/werner/mic/test.qdf" 1 "cubic" 0 "no" 0 "1" 0 "0" 0>
+  <R R5 1 880 190 15 -26 0 1 "50 kOhm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "european" 0>
+  <R R4 1 880 90 15 -26 0 1 "50 kOhm" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "european" 0>
+  <C C3013 1 1100 210 17 -26 1 3 "4.7 uF" 1 "1.67" 1 "polar" 0>
+  <C C4304 1 70 420 -26 17 1 2 "1 uF" 1 "1.66" 1 "polar" 0>
+  <.TR TR1 0 -160 60 0 73 0 0 "lin" 1 "0" 1 "10 s" 1 "800000" 1 "AdamsMoulton" 1 "6" 1 "1 ns" 0 "1e-16" 0 "150" 0 "0.001" 0 "1 pA" 0 "1 uV" 0 "26.85" 0 "1e-3" 0 "1e-6" 0 "1" 0 "CroutLU" 0 "no" 0 "yes" 0 "0" 0>
+</Components>
+<Wires>
+  <-40 600 -40 620 "" 0 0 0 "">
+  <-40 580 -40 600 "" 0 0 0 "">
+  <610 380 670 380 "" 0 0 0 "">
+  <610 280 610 380 "" 0 0 0 "">
+  <610 280 680 280 "" 0 0 0 "">
+  <740 280 800 280 "" 0 0 0 "">
+  <740 400 800 400 "" 0 0 0 "">
+  <800 400 850 400 "" 0 0 0 "">
+  <800 280 800 400 "" 0 0 0 "">
+  <-40 420 -40 520 "" 0 0 0 "">
+  <-40 420 40 420 "" 0 0 0 "">
+  <100 420 520 420 "" 0 0 0 "">
+  <1220 240 1220 290 "" 0 0 0 "">
+  <1100 240 1100 300 "" 0 0 0 "">
+  <1100 140 1100 180 "" 0 0 0 "">
+  <180 160 340 160 "" 0 0 0 "">
+  <340 160 340 260 "" 0 0 0 "">
+  <340 260 480 260 "" 0 0 0 "">
+  <480 180 480 260 "" 0 0 0 "">
+  <450 180 480 180 "" 0 0 0 "">
+  <450 140 520 140 "" 0 0 0 "">
+  <520 140 880 140 "" 0 0 0 "">
+  <520 140 520 200 "" 0 0 0 "">
+  <420 380 610 380 "" 0 0 0 "">
+  <1220 20 1220 180 "" 0 0 0 "">
+  <880 20 1220 20 "" 0 0 0 "">
+  <880 140 1100 140 "" 0 0 0 "">
+  <880 120 880 140 "" 0 0 0 "">
+  <880 20 880 60 "" 0 0 0 "">
+  <520 420 670 420 "" 0 0 0 "">
+  <520 260 520 420 "" 0 0 0 "">
+  <880 140 880 160 "" 0 0 0 "">
+  <880 220 880 260 "" 0 0 0 "">
+  <-140 380 -140 600 "" 0 0 0 "">
+  <-140 380 40 380 "" 0 0 0 "">
+  <340 160 380 160 "" 0 0 0 "">
+  <-40 580 80 580 "" 0 0 0 "">
+  <-40 520 80 520 "" 0 0 0 "">
+  <180 380 360 380 "" 0 0 0 "">
+  <180 160 180 380 "" 0 0 0 "">
+  <100 380 180 380 "" 0 0 0 "">
+  <850 400 850 400 "Vout" 870 350 0 "">
+  <520 140 520 140 "Vmid" 560 80 0 "">
+</Wires>
+<Diagrams>
+  <Rect 118 781 362 184 3 #c0c0c0 1 10 1 0 1000 10000 1 10 1 30 1 -1 0.5 1 315 0 225 "" "" "">
+	<"db" #0000ff 0 3 0 0 0>
+  </Rect>
+  <Rect 540 784 357 184 3 #c0c0c0 1 10 1 0 2000 10000 1 -6.02409 20 68.6681 1 -1 0.5 1 315 0 225 "" "" "">
+	<"ph" #0000ff 0 3 0 0 0>
+  </Rect>
+  <Rect 976 784 362 184 3 #c0c0c0 1 10 0 10 2000 10000 1 -0.00106631 0.005 0.012901 1 -1 1 1 315 0 225 "" "" "">
+	<"Vmid.v" #0000ff 0 3 0 0 0>
+  </Rect>
+</Diagrams>
+<Paintings>
+  <Text 240 350 12 #000000 0 "MIC2N">
+  <Text 250 430 12 #000000 0 "MIC2">
+  <Text 250 130 12 #000000 0 "VREF">
+  <Text 1030 110 12 #000000 0 "VMID">
+  <Text 1030 -10 12 #000000 0 "AVDD">
+  <Rectangle 300 -20 720 500 #00aa00 2 2 #c0c0c0 1 0>
+</Paintings>





More information about the commitlog mailing list