Announcement

Collapse
No announcement yet.

VCA noise

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • VCA noise

    I breadboarded the VCA described here; Theremin World - Topic: VCA Circuit

    It works really well and has practically zero bleedthrough with matched FETs and it has a nice, even sweep. I'm using J111 FETs and negative control voltage, and +/- 9v rails. Op amp is NE5532. R is 10k, k3R is 33K.

    The problem I get is there's a lot of noise that's inversely proportional to the output level. At full volume, no audible noise at all, but as the signal output is reduced the hiss increases. Tried different opamps and FETs with the same issue. The unused side of the opamp is terminated. Even with the signal input grounded I still get the noise.

    This would make a really nice VCA if the noise issue was sorted. Any ideas?
    Last edited by Mick Bailey; 06-29-2016, 09:45 AM. Reason: typo

  • #2
    Didnīt fully analyze it but just thinking aloud: I donīt like it.
    Looks like a balanced stage , similar to an active balanced mic. input, made out of a top inverting amp stage, gain -k3R/R and bottom non inverting half, gain (k3R/R) + 1 so to balance it with the upper half,bottom sigfnal is attenuated to compensate for that "+1 gain" difference,by making an attenuator R/k3R ... standard balanced input stuff.
    Now notice that it attenuates by grounding the non inverting input node, where "in theory at least" there is no signal voltage present.
    I bet there is a little, that is what it attenuates, but the more you attenuate the higher loop gain in the upper half, so the more you attenuate the more hiss you have.
    Donīt ask me for the Math behind this, although it would confirm this theory (or disprove it ) but thatīs the functional mechanism I see here.
    Juan Manuel Fahey

    Comment


    • #3
      Thanks for taking a look. It's a pity the design is flawed, as it provides just what I'm looking for in dynamic range and simplicity. After a few more practical experiments I abandoned it late last night.

      Comment


      • #4
        The basic problem is that if Rds_on of the jfet is much less than k3*R then when you go to low gain conditions (the jfets all the way on), you have very high noise gain from the op-amp. Take two extremes. In both cases, just ground the input source (so we focus on noise).

        Case #1: Control voltage is negative enough to turn off the - jfet. The op-amp has an equivalent input noise source (actually a parallel current and a series voltage, but let's just worry about the voltage). The noise source sees a gain of about 1 + k3*R/R or 1+k3.

        Case #2: Control voltage is zero. Now we have a noise gain of 1 + k3*R / (R || Rds_on) and if Rds_on is << R then our noise gain becomes much higher than in case #1.

        This is likely the source of your woes. Just for kicks, I took a quick look at some data sheets. J111 has about 30 Ohms of on-resistance. This says your noise gain goes from 4.3x at full audio gain to about 1000x at low audio gain. That is an increase of 20*log10(1000/4.3) = +47 dB. No wonder the hiss comes up!

        If you have a scope, it might be interesting to verify noise levels. 5 nV/sqrt(Hz) for the NE5532 and 10 MHz unity gain BW would give something like 5 uV/sqrt(Hz) at the output, BW of about 10 kHz or a total noise of 0.6 mV RMS. So unless you have a Tektronix 7A22 diff amp plug in (very low noise) you'll need a pre-amp to measure with a scope.

        Hopefully my middle of the night numbers aren't too far off.

        -Dan

        Comment


        • #5
          Thanks for the analysis and welcome to the forum. The circuit suggests to me that the designer never considered noise and that it's pretty useless. A good, simple discrete VCA is hard to come by. Think I'll stick to OTA designs, or the ICs such as the TI VCA810 or the THAT Blackmer chips.

          Comment


          • #6
            I wonder if you could replace the link between Q1 D and A1 pin 2 with a resistor (270R?) to reduce noise gain without affecting circuit operation?

            Comment


            • #7
              unfortunately that affects the operation. A simple way to look at this is to first ignore the op-amp + input. The - path just has a gain of -k3 and Rds doesn't affect the signal gain (if the op-amp gain is infinite then there is no voltage across the jfet). So what about the + path? That is where the gain variation is. You have an input attenuation of Ain = (Rds_on || k3*R) / (R + Rds_on || k3*R). Then a gain from the op-amp of 1 + k3*R/(Rds_var || R). The total signal gain is the sum of the plus half and the minus half. If we take two extremes (Rds_var = infinite and Rds_var = Rds_on), we find:

              plus gain for Rds_var,infinite = (1 + k3) * Ain
              plus gain for Rds_var,on: Rds_on >> R so Rds_on || R ~ Rds_on. k3*R/Rds_on >> 1 so we have approximately k3*R/Rds_on * Ain.

              For both of the cases, don't forget that Ain is quite small. Using those same simplifications, Ain ~ Rds_on / R << 1.

              Yes, I know I've been sloppy with the algebra but pen and paper works better for me than typing!

              The take away is that the circuit works by having a fixed negative gain and you vary the positive gain. The positive gain varies from very small to the same as the negative gain. But the way we get the large value for positive gain is by attenuating a lot and then amplifying a lot (bad from a noise point of view). Putting that 270R in will keep you from hitting the lowest total gain setting of the VCA.

              For a theremin application I'd just not worry much about linearity and use a design that has better noise.

              Have you looked at linearity of those light dependent resistor opto-couplers? I've not done that and you do have to play some tricks to stabilize the control but that may be something to look at. I also wonder if a few variable stages can give you better overall noise+linearity tradeoffs than getting it all in one stage. Another thing to look at is local feedback on the jfet. Put a resistor between control voltage and gate and from drain to gate. Use equal valued resistors. This nominally linearizes it.

              Disclaimer, I'm not a VGA designer in particular.

              -Dan

              Comment


              • #8
                The application I was intending to use it for is a guitar volume pedal. I have already worked on a commercial pedal that uses this approach and it offers greater benefits than having a pot in the audio path.

                1. Pot noise is easily abstracted from appearing on the signal output.
                2. Any value of pot can be used (so long as it doesn't materially load the supply).
                3. The input impedance can be set irrespective of pot value, so the high-frequency can be preserved.
                4. The circuit can be located close to the amp if used in the FX loop and just an expression pedal used to control it.

                I've recently stripped out a Vertex boost box for a customer and installed it inside a Vertex-branded Boss volume/expression pedal. This has worked really well, but is an expensive route to take. This particular pedal uses an ICL7660 to generate split rails and power a gooped 8 pin SOIC IC - presume this is a VCA chip due to the really low component count.

                Optical VCAs have a lag and slight recovery time at the end of travel, even when using the fastest Silonex Vactrols.

                Comment


                • #9
                  Originally posted by danmc View Post
                  unfortunately that affects the operation. A simple way to look at this is to first ignore the op-amp + input. The - path just has a gain of -k3 and Rds doesn't affect the signal gain (if the op-amp gain is infinite then there is no voltage across the jfet). So what about the + path? That is where the gain variation is. You have an input attenuation of Ain = (Rds_on || k3*R) / (R + Rds_on || k3*R). Then a gain from the op-amp of 1 + k3*R/(Rds_var || R). The total signal gain is the sum of the plus half and the minus half. If we take two extremes (Rds_var = infinite and Rds_var = Rds_on), we find:

                  plus gain for Rds_var,infinite = (1 + k3) * Ain
                  plus gain for Rds_var,on: Rds_on >> R so Rds_on || R ~ Rds_on. k3*R/Rds_on >> 1 so we have approximately k3*R/Rds_on * Ain.

                  For both of the cases, don't forget that Ain is quite small. Using those same simplifications, Ain ~ Rds_on / R << 1.

                  Yes, I know I've been sloppy with the algebra but pen and paper works better for me than typing!

                  The take away is that the circuit works by having a fixed negative gain and you vary the positive gain. The positive gain varies from very small to the same as the negative gain. But the way we get the large value for positive gain is by attenuating a lot and then amplifying a lot (bad from a noise point of view). Putting that 270R in will keep you from hitting the lowest total gain setting of the VCA.

                  For a theremin application I'd just not worry much about linearity and use a design that has better noise.

                  Have you looked at linearity of those light dependent resistor opto-couplers? I've not done that and you do have to play some tricks to stabilize the control but that may be something to look at. I also wonder if a few variable stages can give you better overall noise+linearity tradeoffs than getting it all in one stage. Another thing to look at is local feedback on the jfet. Put a resistor between control voltage and gate and from drain to gate. Use equal valued resistors. This nominally linearizes it.

                  Disclaimer, I'm not a VGA designer in particular.

                  -Dan
                  I don't think it works like that.

                  The positive gain is fixed as the gate and source of that FET are at the same constant potential giving a constant Rds(on). The negative gain is varied as the gain of the opamp is not infinite. This results in a small signal voltage on the -ve input and that signal is bled away by the varying Rds(on) of the FET in the -ve side.
                  Experience is something you get, just after you really needed it.

                  Comment


                  • #10
                    Originally posted by danmc View Post
                    unfortunately that affects the operation.
                    There's a link to an LTspice sim in post #1. I've just tried it with the 270R resistor and it looks like it works OK. I was thinking that the noise gain is set by the Rds(on) of the FET which is 30R so adding 270R could reduce the noise gain by 20dB (10x). How does the rds(on) of the original FET compare with the J111? If the J111 has a lower Rds(on) than the original the noise gain will be greater.

                    Comment


                    • #11
                      Originally posted by nickb View Post
                      I don't think it works like that.

                      The positive gain is fixed as the gate and source of that FET are at the same constant potential giving a constant Rds(on). The negative gain is varied as the gain of the opamp is not infinite. This results in a small signal voltage on the -ve input and that signal is bled away by the varying Rds(on) of the FET in the -ve side.

                      I'd invite you to consider an op-amp circuit with the + input grounded and a resistor from input source to - Input = R1 and from - input to output of R2. Would you agree that the gain is -R2/R1? Now add a third resistor, R3, from - input to ground. The gain from input to output is still -R2/R1 up until you make R3 so small relative to R2 that you make Av_op_amp * (R1||R3)/(R2 + R1||R3) become not so huge. With 30 Ohms for R3 and 30k for R2, you have about 1000x attenuation. The NE5532 has about 10 Mhz unity gain frequency and so at 1 kHz you still have a gain of about 10,000 from the op-amp and the loop gain including the feedback network is about 10 and so while not infinite, the error is small.

                      Now consider a second circuit. Just a standard non-inverting amplifier. R1 from ground to - input of the op-amp and R2 from - input to output and the input source drives the + input. Gain is 1+R2/R1. Now add R3 from - input to ground and vary it. In this case you vary the gain substantially (as long as R3 is small enough to have a strong influence on R1||R3). The gain is now 1 + R2/(R1 || R3). This is why the gain through the plus half of the VGA varies.

                      -Dan

                      Comment


                      • #12
                        Originally posted by Dave H View Post
                        There's a link to an LTspice sim in post #1. I've just tried it with the 270R resistor and it looks like it works OK. I was thinking that the noise gain is set by the Rds(on) of the FET which is 30R so adding 270R could reduce the noise gain by 20dB (10x). How does the rds(on) of the original FET compare with the J111? If the J111 has a lower Rds(on) than the original the noise gain will be greater.
                        In practice, if the Rds is too high then the bleedthrough goes up, though as you say this reduces the noise. Inserting a 270R resistor results in the circuit not having any useful attenuation. I still have it breadboarded and gave this a shot last night.

                        Comment


                        • #13
                          Originally posted by Mick Bailey View Post
                          Inserting a 270R resistor results in the circuit not having any useful attenuation.
                          Interesting, It looks OK in the sim with 270R.

                          Original Circuit
                          Click image for larger version

Name:	VCA 0R.png
Views:	1
Size:	11.8 KB
ID:	842364

                          With 270R
                          Click image for larger version

Name:	VCA 270R.png
Views:	1
Size:	11.1 KB
ID:	842365

                          270R Schematic
                          Click image for larger version

Name:	VCA 270R scm.png
Views:	1
Size:	9.1 KB
ID:	842366
                          Last edited by Dave H; 07-03-2016, 09:36 AM.

                          Comment


                          • #14
                            Originally posted by Mick Bailey View Post
                            In practice, if the Rds is too high then the bleedthrough goes up, though as you say this reduces the noise. Inserting a 270R resistor results in the circuit not having any useful attenuation. I still have it breadboarded and gave this a shot last night.
                            what if you add a 270R resistor in the other FET leg too? Minimum gain for the VGA happens when things are balanced. But that will reduce max gain by a little.

                            Comment


                            • #15
                              Originally posted by danmc View Post
                              what if you add a 270R resistor in the other FET leg too?
                              I did try that but I couldn't see much difference. The blue trace is the control voltage.

                              Click image for larger version

Name:	VCA 2 x 270R.png
Views:	1
Size:	12.9 KB
ID:	842367

                              Click image for larger version

Name:	VCA 2 x 270R scm.png
Views:	1
Size:	10.7 KB
ID:	842368

                              Comment

                              Working...
                              X