On Oscillator Linearity and Musicality
Oscillators, like most things, are imperfect. This page looks at a
class of oscillators called Voltage-to-Frequency Converters, which is a
fancy way of saying VCO.
To whet your appetite, here are a couple of excellent app notes by the legendary
Jim Williams (RIP) that provide some superb examples of high-quality analogue design:
In the majority of V-to-F converter designs the control response is linear,
where the output frequency is simply
Linearity is a measure of how well the actual V-to-F oscillator
conforms to the ideal. Analog Devices define linearity of a V-to-F as
|The preferred method of specifying nonlinearity error is in terms
of maximum deviation from the ideal relationship after calibrating
the converter at full scale. This error will vary with the full
scale frequency and the mode of operation.
It is usually quoted as a percentage, and in typical
datasheet fashion will include typical and worst-case manufacturing spread as well
as over temperature.
Which is all very well, but for a musical oscillator, where we concern
ourselves with semitones and cents, how does linearity percentage equate to
oscillator linearity? Well, this page presents the tools and tables to help
you answer two questions:
- "I want a musical VCO that tracks to better than C cents, what V-to-F linearity percent do I need?"
- "This V-to-F has L percent linearity. How many cents tracking will it give me?"
The relationship between frequency and cents is
||cents / 1200
|freq = base_freq * 2
and where there are 100 cents per semitone, 12 semitones to an octave.
With this fundamental relationship we can now answer these two questions.
I want a musical VCO that tracks to better than C cents, what V-to-F linearity percent do I need?
If we re-arrange the above equation to compute the linearity percentage,
we get the following equation:
||cents / 1200
|linearity(%) = ( 2
|| - 1 ) x 100
If we apply this over a range of cents accuracy, from 0.01 cents to 10 cents,
we get the following results:
This V-to-F has L percent linearity. How many cents tracking will it give me?
Working out the answer to this question requires turning our frequency
equation inside out. With some re-arranging we arrive at
|| (log10(L + 100) - 2)
where L is the V-to-F linearity in percent. Applying the above to a
range of linearities we get the following table:
What does this all mean?
Firstly, from a musical perspective, it is commonly stated that a musical
oscillator only needs to track to within ±5 cents. From the above we
can see that we need a V-to-F linearity better than 0.29%.
Secondly, we can use the second table to qualify how good an off-the-shelf
V-to-F converter is in a musical context.
Note: these figures come from datasheets, so treat with caution.
Single-chip V-to-F Converters
Roughly in increasing order of linearity. Note prices are from
UK Farnell website as of June 2014 for DIP parts, and are presented as a guide to
relative cost only.
||Linearity (typical %)
||Guide Price (GBP)
||Supposedly a "golden-oldie"... but not according to the datasheet!
||Cheap as chips, but poor linearity. Thomas Henry seems to like them though.
||Pretty decent little 100kHz V-to-F, needs a bit of work to
get the stated linearity (external op-amp, diode, etc) but for
the price it's a real bargain!
||Pretty good linearity over an 80dB range. Price is good for
a linear VCO that is usable over 13 octaves.
||0.05% < 100kHz
||Analog Devices' clone of the VFC32.
||0.01% < 11kHz
||Well-known V-to-F converter (I believe designed by Bob Pease?).
Very good linearity over the 1Hz to 11kHz range (13 octaves).
Fairchild make a low-cost clone: the KA331
||The industry-standard VCF32. Excellent linearity over
a 100dB range (17 octaves), for a similar price to the
AD654 but in a larger package.
||Faster version of the VCF32, up to 120dB range (20 octaves),
for about twice the price.
Jim Williams App Note 14
The classic AN-14
describes a number of linear V-to-F, most of which are compared in the table below:
|Figure 1 (1Hz to 100MHz) ||typ. 0.06%||1.04|
|Figure 5 (1Hz to 2.5MHz) ||typ. 0.05%||0.87|
|Figure 8 (<10kHz) ||typ. 0.005%||0.087|
|Figure 10 (100kHz to 1.1MHz)||typ. 0.0007%||0.012|
|Figure 14 (1Hz to 100kHz) ||typ. 0.1%||1.7|
All of these circuits are truly amazing at what they achieve. Jim was truly an
analogue guru of the highest order.