A typical function generator usually comprises of a triangular waveform whose frequency can be controlled smoothly as well as in steps. This triangular wave is used as the basis for all of its other outputs. The triangular wave is generated by repeatedly charging and discharging a capacitor from a constant current source. This produces a linearly ascending or descending voltage ramp. As the output voltage reaches upper and lower limits, the charging and discharging is reversed using a comparator, producing the linear triangle wave. By varying the current and the size of the capacitor, different frequencies may be obtained. Saw tooth waves can be produced by charging the capacitor slowly, using a current, but using a diode over the current source to discharge quickly - the polarity of the diode changes the polarity of the resulting saw tooth, i.e. slow rise and fast fall, or fast rise and slow fall.
A 50% duty cycle square wave is easily obtained by noting whether the capacitor is being charged or discharged, which is reflected in the current switching comparator output. Other duty cycles (theoretically from 0% to 100%) can be obtained by using a comparator and the saw tooth or triangle signal. Most function generators also contain a non-linear shaping circuit that can convert the triangle wave into a reasonably accurate sine wave. It does so by rounding off the hard corners of the triangle wave in a process similar to clipping in audio systems.
A typical function generator can provide frequencies up to 20 MHz RF generators for higher frequencies are not function generators in the strict sense since they typically produce pure or modulated sine signals only.
Function generators, like most signal generators, may also contain an attenuator, various means of modulating the output waveform, and
often the ability to automatically and repetitively "sweep" the frequency of the output waveform (by means of a voltage-controlled oscillator) between two operator-determined limits. This capability makes it very easy to evaluate the frequency of a given electronic circuit.
Some function generators can also generate white or pink noise.
More advanced function generators use Direct Digital Synthesis (DDS) to generate waveforms. Arbitrary waveform generators use DDS to generate any waveform that can be described by a table of amplitudes.