A Function Generator In Its Purest Form

If you have a modern function generator on your bench it is quite likely to contain a direct-digital synthesis circuit that creates arbitrary waveforms using a microprocessor controlled DAC. If you have a cheap function generator it’s likely to contain a one-chip solution that generates approximations to sine and triangle waveforms through modifying a square wave with a set of filters.

These methods both produce adequate waveforms for most of your function generator needs, but they are both far from perfect for the purist. Both methods introduce some distortion, and to address this [michal777] has produced a generator that takes the process back to basics with all stages implemented using building block ICs and transistors. The circuit follows the same square-wave-modifying path as the cheaper integrated devices, but with significant attention paid to the design to ensure that it does as good a job as possible. It also makes for a fascinating dive into function generator design.

The generator hardware has been neatly fitted onto a PCB with a riser for a set of front panel controls. He shares a few pictures of previous designs. We particularly like one that appears to have been fitted into a redundant cooking pot.

We’ve brought you a few function generators over the years. If you’ve got one of the cheaper examples, we’ve even covered how you might improve it a little.

9 thoughts on “A Function Generator In Its Purest Form

  1. I had an analog signal generator, but I ditched it years ago. Now I use an app on my Android which can generate two independent tones (one for each channel). Since it uses the 44.1kHz/16 bit DAC that’s in the phone, I expect its performance is just fine (i.e. better than I could measure).

    1. I’ve also used an app, however I ran into problems a while back when I wanted an adjustable PWM signal. The app could produce it, but the phone’s output is AC-coupled which put it all over the place and completely unsuitable for most uses. In that case I just grabbed an Arduino and potentiometer, but in other situations that might have been a bit limiting.

      1. Even with DC coupling (e.g. TI’s DirectPath(TM)) in the analog circuit, the brick wall anti-alias filter in the DAC cannot reproduce the higher harmonics (higher than 2X sampling rate) of a square wave.

  2. While this is mighty impressive, there’s a reason many commercial solutions use DDS or DAC architectures. Many 16 bit DACs are available with better than 0.01% THD at audio frequencies (assuming a sine wave), that can often have sampling rates up into the megasample range for less than $10 in quantity. Much more flexible AND with a lower component count!

    1. DDS is a much better technology. It can be used for arbitrary waveform generation with a waveform table.

      The old 8038 with modified sine wave is around 2-3% THD. If one is serious about a function generator with analog parts, then do the synthesis in a different order. Use a proper sine oscillator as the frequency source. Any decent text book or opamp application notes would show a sample circuit. Square wave is a matter of zero crossing detector and triangular wave is just charging/discharging a cap with a constant current source.

  3. I have high-powered, (120VAC/20A) wall mounted 60Hz sine wave access points located in every room of my house.
    They are fed from a central location. They are very handy!

Leave a Reply to PreferLinuxCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.