01-03-2018, 08:00 AM
I needed a good, pure, 10kHz sine wave to test some stuff I'm playing with - most of my test kit here is digital thus not especially clean.
Came across an LTC design note (DN564) from July 2017 with an simple/obvious and neat approach - uses a very low power single-rail op-amp and a monolithic squarewave generator - the op-amp implements a very narrow BW bandpass filer to pick out the fundamental from the square wave, resulting in a -100dBc (0.001% THD+N) sine wave.
The traditional way, is exemplified by Jim WIlliams' classic LTC AN43 (fig. 48) design back in 1990 to get THD+N down to -110dBc or 0.0003% (3ppm) - he published various updates - the last variant I found was an EDN article from August 2011 (Jim died in June 2011) which got the THD+N down to -112dBc, or 0.0002512% (2.5 ppm), very close to what can be measured with modern equipment. These use a Wein Bridge oscillator with an optically-coupled AGC servo to stabilise it.
I've built variants of the AN43 Jim WIlliams design and it's tricky to keep stable - like a Ferrari, it's a bit on the edge all the time. The DN564 idea, whilst "only" offering -100dBc, is far simpler and more stable.
The fundamental difference between the two approaches is that the traditional approach works very very hard to produce a clean sine wave and nothing else.
The slightly left-field approach of starting with a square wave is that you never have to explicitly produce a pure sine wave - it's inherently present as the fundamental of the square wave (part of the Fourier series). As it's easy to produce a decent square wave at a known frequency, you know that if it's a pretty clean square wave with a 50% duty cycle, then it'll consist of only odd harmonics with amplitudes of 2/(n*Pi) where "n" is the harmonic number. So starting with the fundamental (harmonic 1), with a 1V square wave, the fundamental would be 637mV, the 3rd would be 210mV and so on. Harmonic 0 is simply the DC component equal to the average value of the input - in the case of a 1V, 50% duty cycle square wave, this would be 0.5V.
With a 10kHz square wave, the 3rd harmonic is so far away (20kHz) we can afford to use a simple low Q band-pass filter to extract what, by definition, is a pure sine-wave at the fundamental.
Neat.
Tobacco/Altoids tin job... as always with this sort of stuff, construction technique has to be good to hit the low numbers...
EDIT: Should add that when I was first playing with the AN43 design many years ago, I was having problems keeping it stable - after a while, having run out of ideas, I emailed the Great Man. He replied with a charming email and told me how to fix the issue. Great guy, sad loss.
Came across an LTC design note (DN564) from July 2017 with an simple/obvious and neat approach - uses a very low power single-rail op-amp and a monolithic squarewave generator - the op-amp implements a very narrow BW bandpass filer to pick out the fundamental from the square wave, resulting in a -100dBc (0.001% THD+N) sine wave.
The traditional way, is exemplified by Jim WIlliams' classic LTC AN43 (fig. 48) design back in 1990 to get THD+N down to -110dBc or 0.0003% (3ppm) - he published various updates - the last variant I found was an EDN article from August 2011 (Jim died in June 2011) which got the THD+N down to -112dBc, or 0.0002512% (2.5 ppm), very close to what can be measured with modern equipment. These use a Wein Bridge oscillator with an optically-coupled AGC servo to stabilise it.
I've built variants of the AN43 Jim WIlliams design and it's tricky to keep stable - like a Ferrari, it's a bit on the edge all the time. The DN564 idea, whilst "only" offering -100dBc, is far simpler and more stable.
The fundamental difference between the two approaches is that the traditional approach works very very hard to produce a clean sine wave and nothing else.
The slightly left-field approach of starting with a square wave is that you never have to explicitly produce a pure sine wave - it's inherently present as the fundamental of the square wave (part of the Fourier series). As it's easy to produce a decent square wave at a known frequency, you know that if it's a pretty clean square wave with a 50% duty cycle, then it'll consist of only odd harmonics with amplitudes of 2/(n*Pi) where "n" is the harmonic number. So starting with the fundamental (harmonic 1), with a 1V square wave, the fundamental would be 637mV, the 3rd would be 210mV and so on. Harmonic 0 is simply the DC component equal to the average value of the input - in the case of a 1V, 50% duty cycle square wave, this would be 0.5V.
With a 10kHz square wave, the 3rd harmonic is so far away (20kHz) we can afford to use a simple low Q band-pass filter to extract what, by definition, is a pure sine-wave at the fundamental.
Neat.
Tobacco/Altoids tin job... as always with this sort of stuff, construction technique has to be good to hit the low numbers...
EDIT: Should add that when I was first playing with the AN43 design many years ago, I was having problems keeping it stable - after a while, having run out of ideas, I emailed the Great Man. He replied with a charming email and told me how to fix the issue. Great guy, sad loss.
sıʌǝɹq ɐʇıʌ `ɐƃuol sɹɐ
ʞɔıu
ʞɔıu










