Controlling waveform amplitude and offset while guaranteeing no clipping.

Started by DrAlx, January 26, 2015, 07:41:15 AM

Previous topic - Next topic

DrAlx

I want to be able to manually set the amplitude and DC offset of a waveform (sine wave) using 2 pots.
I want to get all possible sine wave amplitudes between 0 and 1 volt pk-pk, and I want to be able to set the DC level to all
possible values that do not clip the sine wave.
In other words, I want the ability to generate any sine wave with a peak voltage <= 1V and a trough voltage >= 0V.
I'm looking for an analogue way of doing this.
I can see a way of doing this using a dual-gang pot and a single gang pot...


1V ----|
      |
     ---
     | |
     |R|----------
     | |         |
     ---        ---
      |         | |
In ----|         |T|----- Out
      |         | |
     ---        ---
     | |         |
     |S|----------
     | |
     ---
      |
0V ----|


The input is a sine wave with peaks at 1V and troughs at 0V.
R and S are the two parts of a dual-gang pot that sets the amplitude of the sine wave.
The output pot T sets the DC offset by mixing the two outputs from R and S.

When dual gang is fully CCW, the R wiper moves to 1V and the S wiper moves to 0V.
So we have a zero amplitude sine wave at the output, and T gives full control of the DC level between 0 and 1.

When dual gang is fully CW, R and S wipers both move to In.
So we get the full sine wave at the output and the output mixer pot does nothing.

Has anyone used this scheme, and is there a better/simpler/cheaper way to do this?
I've been trying to think of a way that involves just two single-gang pots and op-amps but keep getting schemes that would clip.

DrAlx

I think I figured how to do it with 2 single gang pots (and a voltage buffer).
One pot has 1V and 0V on its ends, and its wiper output is buffered to give the bias voltage from 0 to 1V.
That voltage is mixed with the full sine wave using a second pot.
Not sure how I missed that in the first place.

PRR

  • SUPPORTER