[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