[sdiy] integrator / capacitor leakage

JH. jhaible at debitel.net
Sun Dec 4 00:09:40 CET 2005


Hi Ian,

> >No. But I want to get 20kHz from 1mA maximum (to keep tracking
> >errors reasonable), and I want to get down to 1/30s without switching
> >capacitor values. Even that is no problem.
> >But I want high waveform precision over the whole frequency range.
> >Doing it with two integrators and/or shaping sin + cos, the amplitude
error
> >should be better than 1%, the phase error should be better than
> >1 deg, and offset should be less than 5mV.
> >Now suddenly it *is* demanding.
>
> Boy that *is* tough. If you try to use IC OTAs you will  have trouble with
> the change in offset with Iabc and with amplitude variation from phase
> shift errors.  My non-OTA tri oscillator has about +/-2 mV offset
variation
> from 100 Hz to 20 kHz.  Below that -- pretty hard to measure.  You might
be
> able to get good enough OTAs using the MAT's in a discrete design, or by
> selecting through a big batch of CA3280's.

Yes, with OTAs there's always the offset problem.

I have an idea that might solve this problem in my application (frequency
shifter).
For audio rate frequencies, I will AC-couple the modulator signals, so
except
for some transition time (time constant of the coupling CR), audio rate
modulation
will be free of offset.
When the QVCO frequency goes below 10 or 20 Hz, a comparator, that
checks the QVCO's CV, will close a switch across each coupling capacitor.
For sub audio modulation (Barberpole phasing etc.), accuracy isn't so
important
and I can (hopefully) live with some offset. I'll use Vactrols for switches
to get
a smooth transition.
Currently I'm building a saw VCO with triangle and quadrature triangle
waveshaper.
Followed by two sine waveshapers that (in theory) are optimised for
suppressing
3th and 5th harmonics, but rather bad for th ehigher harmonics. This will be
followed
by a tracking VCF that takes care of the higher harmonics. If everything
works
as intended (which I severly doubt, but if I don't try I'll never know),
that
combination should give very low THD without special or expensive
components.
The VCF will also track only down to 10 or 20 Hz. Below that, it would cause
more difficulties (phase error) than it would help.

If this concept fails (which I expect), I'll go for an oscillating state
variable filter,
like you have presented, with the zener diodes, or with the x**2 + y**2
method from Tietze/Schenk.
I have made some experiments with both on breadboard. Your inexpensive
zener diode circuit is really as good in THD as the expensive squaring
method,
which came as a big (and pleasant) surprise. But I found that above a
certain frequency
(ca. 3kHz with the cap values and medium-fast opamps I had used), the
amplitude
increases a lot. I'd say this is from additional phase shift, and the rather
smooth
zener diode amplitude stabilisation isn't strong enough to really keep the
amplitude
constant over the whole frequeny range.
The squaring circuit (at the expense of 3 extra AD633's) keeps the amplitude
perfect. (Brute force method, integrating the error, resulting in zero
static error.)
But even this comes at a price: I see that the x**2 + y**2 term isn't
constant
(as it should), which means the regulation, though working on amplitude and
THD,
will leave a considerable phase error. (?)

> What exactly do you mean by phase error -- just the deviation from perfect
> quadrature?

Yes.

> I hate to say it, but for that kind of range and precision I would be
> tempted to go d*g*t*l.  :-)

Absolutely. But I'm just to dumb to do this. I guess it's the easiest thing
for a fast DSP with a good ADC and two good DACs on-chip, but
that's not the stuff I'm working with.

JH.




More information about the Synth-diy mailing list