neil's webbly world
learn Russian

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

Fout  =  k.Vin + offset

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.
(AD654 datasheet)

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:

CentsLinearity (%)
0.01 0.00058
0.02 0.0012
0.05 0.0029
0.1 0.0059
0.2 0.012
0.5 0.029
1 0.058
2 0.12
5 0.29
10 0.58

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

cents  = 
 (log10(L + 100) - 2)
log10 2

where L is the V-to-F linearity in percent. Applying the above to a range of linearities we get the following table:

Linearity (%)Cents
10 165.004
5 84.467
2 34.283
1 17.226
0.5 8.635
0.2 3.459
0.1 1.730
0.05 0.865
0.02 0.346
0.01 0.173

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.

Device Linearity (typical %) Cents Comments Guide Price (GBP)
100-off qty
MC14046 (Mot) 1.0% 17.2 Supposedly a "golden-oldie"... but not according to the datasheet! N/A
CD4046 (TI) 0.4% 6.9 Cheap as chips, but poor linearity. Thomas Henry seems to like them though. 0.163
XR4151 (Xicor) 0.05%
(precision mode)
0.87 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! 0.68
AD654 0.06% <250kHz 0.52 Pretty good linearity over an 80dB range. Price is good for a linear VCO that is usable over 13 octaves. 4.23
0.2% <500kHz 3.5
ADVFC32 (AD) 0.05% < 100kHz 0.87 Analog Devices' clone of the VFC32. 6.80
0.2% <500kHz 3.5
LM331 0.01% < 11kHz 0.17 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
(KA331: 0.254)
VFC32 (TI) 0.025% <100kHz 0.43 The industry-standard VCF32. Excellent linearity over a 100dB range (17 octaves), for a similar price to the AD654 but in a larger package. 4.14
0.05% <500kHz 0.87
VFC320 (TI) 0.025% <100kHz 0.43 Faster version of the VCF32, up to 120dB range (20 octaves), for about twice the price. 14.34
0.05% <500kHz 0.87
0.1% <1MHz 1.73

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:

CircuitLinearity (%)Cents
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.

Copyright © 2001-2017 Neil Johnson