[sdiy] Analogue Drift (was Re: HF VCOs and tracking problems)
rburnett at richieburnett.co.uk
rburnett at richieburnett.co.uk
Wed Nov 14 11:15:07 CET 2012
Hi Tom,
> Have you managed to get any decent data for this, Richie?
I did quite a bit of this VCO drift characterisation in my lunch hour
at work a few years ago now. Sadly don't have the actual results files
now as my lab PC at work died, or I would have sent them to you.
The synths I tested were SH-09 (old single oscillator Roland
monosynth), TB-303, JX-3P (DCO), alpha-juno2 (DCO), Casio VZ-1
(digital). I set each synth to generate a raw oscillator waveform in
the 3 kHz region, tuned my rock-solid GPS locked oscillator to the same
frequency and then let the drift test commence. I'd summarise the
results as follows. The SH-09 had the most noticeable drift, then 303,
JX, alpha-juno and finally VZ-1 in that order. As for the causes of the
pitch drift... The SH-09 had significant frequency-modulation of the
VCO by 50Hz, 150Hz, 350Hz, 450Hz components. I tried beefing up the
power supply smoothing, but it turns out that this is due to capacitive
coupling between the mains wiring to the transformer and the sensitive
traces of the expo-converter and VCO that are only 6" or so away.
(Proved this by temporary screening of mains cable with grounded foil
shield.) I remember noting that the shape of the "mains modulation"
waveform was also highly distorted, presumably due to the capacitive
coupling favouring the higher harmonics of the nasty looking mains
voltage waveform.
The second biggest contributor was LFO modulation, even though the VCO
MOD slider was firmly at zero. Again this waveform was also distorted,
and its influence on the VCO frequency looked like a severely high-pass
filtered square wave. My proposed explanation for this is that as the
LFO cycles between charging and discharging, it's current demands from
the +ve and -ve rails switch abrupty. It also flashes a LED on the
panel, all of which cause momentary supply voltage fluctuations before
the regulators servo the supply voltage back to the nominal values a
millisecond or two later. This affects the oscillator pitch slightly.
I also noticed that notes started ever so slightly flat each time a key
is pressed and then quickly slid into tune! Presumably also due to
transient loading on the supply by the envelope circuitry, or voltage
drop created along common ground traces on the PCB? Then finally there
was an underlying long-term drift. This tended to always be in one
direction, presumably as the synth warmed up, or the room temperature
changed, but it would often go in fits and starts. Sometimes the drift
would *almost* stop, and other times it would suddenly jump a few
fractions of a cent. This could easily have been due to people opening
the door to the lab, and wafting air currents etc. What I didn't see
was any interesting filtered noise type fluctuations in pitch that I had
theorised might be due to shot-noise or something in the expo-converter.
I also didn't see anything that I could put down to supply voltage
fluctuations, but the building has its own dedicated distribution
transformer right near where I was working that so I wouldn't have
expected the supply to vary much at my location.
I think the tests for the TB-303 were done at a lower frequency than
3kHz, which limited the bandwidth of the drift I could measure. The
majority of the drift on the TB-303 was from four sources. Firstly,
long-term thermal, secondly the tempo clock seems to modulate the VCO
pitch ever so slightly, thirdly the flashing of panel LEDs shifts the
VCO frequency by almost 0.5 cent, and lastly the pitch bends quite
noticeably at the onset of notes again! I guess that's to be expected
though on a cheaply made battery powered device. (It was run from batts
during the testing, and you can even see the battery LED flicker
slightly as notes start and stop!)
The digital VZ-1 and alpha-juno were pretty much rock solid relative to
the GPS clock, with only ppm level drift immediately after switching on.
The JX-3P was the strange beast where I got some conflicting results,
depending on the pitch offset between the oscillators! I think it plays
tricks with detuning one high-frequency RF oscillator relative to
another inside to get small oscillator detuning amounts and suspect this
is susceptible to one oscillator injection locking the other when they
are close to integer ratios in frequency. I never spent any time
looking into this, but suspect the designer knew about this issue
because there's a little metal plated mounted on the PCB to screen each
oscillator from the other!
Unfortunately didn't have a minimoog available to test, but would have
been interested to see how it's oscillators behaved as they are
obviously held in high regard for their sought-after analogue sound.
So there you have it, if you want your digital oscillators to sound
more "analogue" then modulate the pitch with a bit of mains hum, and a
bit of differentiated LFO waveform, and make it occasionally lurch up or
down in pitch when someone opens a nearby door or window!
> I had a go using a friend's 24-bit 192-KHz audio interface to record
> files which I then analysed post-recording with the computer. I was
> hoping to get enough data to allow me to generate a realistic "drift
> waveform" for a given synth or oscillator, but I never got very far
> with it. I wasn't convinced that the results I got weren't just
> artefacts of the process rather than actual data.
You can do it this way as well. The trick is to up-sample
(interpolate) your recorded waveform so that you can determine the VCO
period to a resolution better than whole samples. Otherwise you'll get
severe period quantisation in your results. You only need to
interpolate the waveform around the zero crossings though. So for
instance you could record the VCO waveform at 48kHz, but up sample by
1024 using sinc interpolation just around where the waveform went though
zero and changes sign. This would then give you an effective sample
rate of 49MHz which is enough to see tiny variations in the period of
oscillation from one cycle to the next. (A lot of people think that
detailed timing information like this is lost when you sample a signal
at a finite rate. The information is still there embedded in the
sampled data, but you need to sinc-interpolate the sampled data to see
where events happened in between discrete sample points.) Bare in mind
that this technique is also subject to the clock jitter in your
sound-card too, and any less-than-ideal sample-rate conversions etc.
that Windows might decide to apply to its output data, so beware!
That's why it's handy to have a rock steady pure tone available as a
control to check your measurement process is sound.
-Richie,
More information about the Synth-diy
mailing list