A am working on an FPGA based function generator and I am aiming for max frequency to be higher than 10 MHz, hopefully 30 MHz. I have implemented most of the functionality except amplitude control. Ideally I'd like to have a way to digitally control the amplitude. I have thought about using the following: digital attenuators, feedback amplifier circuits, some sort of FET used as variable resistor and not using any specific device at all and just changing the values I pass to the DAC.

Changing the DAC values seems the easiest however, it would negatively affect the resolution of the waveform on lower amplitudes.

Using a feedback amp seems to me like a good way to precisely control the amplitude however the frequency response of many opamps and the whole circuit that would need to be designed makes for an uninviting option.

Similar stuff with using some sort of FET, say JFET. Something tells me that it wouldn't be as easy as sticking a resistor to a JFET and not expecting any degradation in signal fidelity.

I have no opinion on digital RF attenuators, I think that might be a way to go.

The question is if any of those approaches are better suited for operation at specified frequencies that the other, and what are the most frequently used approaches in the field?

  • \$\begingroup\$ Any idea how accurate you want to control the amplitude? +/-5%, 1%, 0.1%? \$\endgroup\$ – Oldfart Feb 17 '19 at 13:10
  • \$\begingroup\$ Not terribly important, say 5%. Signal integrity is much more important. \$\endgroup\$ – Anthropomorphous Dodecahedron Feb 17 '19 at 13:15
  • \$\begingroup\$ What's "signal integrity" if it does not include amplitude fidelity? \$\endgroup\$ – Marcus Müller Feb 17 '19 at 13:25
  • 1
    \$\begingroup\$ I would use a set of attenuation 1/5/10/50 which can be done rather accurate. Then do the fine tuning using the ADC input signal. \$\endgroup\$ – Oldfart Feb 17 '19 at 13:27
  • 1
    \$\begingroup\$ I mean that if there's some inaccuracy in Vpp value of the whole waveform it doesn't matter as much. Amplitude fidelity with respect to neighbouring amplitudes i.e. signal integrity is important. \$\endgroup\$ – Anthropomorphous Dodecahedron Feb 17 '19 at 13:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.