I have a circuit that outputs about 600mVpk wave shape. I need to be able to output between 10mVpk to 10Vpk accurately, preferably with no calibration but a known error. The whole process should be supervised by digital means.
The general scheme I was thinking about is amplifying the signal to 10Vpk and some attenuation device to set different gains. This could be a series of resistive dividers that can be inserted in line. Each one is attenuating the signal by a different amount like -2dB,-4dB,-8dB,-16dB and they can be combined to create more attenuation points like -6dB or -30dB. This can be done using 4 SPDT relays but this is not enough. What additional element can I use to make up the spaces. I would like a high resolution. Possibly 10mV if possible.