What's going on here?

Started by digi2t, February 03, 2025, 06:23:29 AM

Previous topic - Next topic

digi2t

Over the years, I've started to appreciate how certain things work when it comes to tone and volume circuits, but whenever opamps are involved, I get a bit lost. Here's a trace of a pedal I have on the bench at the moment, but my brain is having a bit of difficulty comprehending what is going on with the tone and volume sections. In other words, what's making them tick?



My apologies in advance if I've drawn it out incorrectly.
  • SUPPORTER
Dead End FX
http://www.deadendfx.com/

Asian Icemen rise again...
http://www.soundclick.com/bands/default.cfm?bandID=903467

"My ears don't distinguish good from great.  It's a blessing, really." EBK

Fancy Lime

#1
Tone is a slightly convoluted variant of a Tube Screamer type tone control for treble shelve boost or cut. The Volume control looks like an unnecessarily complicated drawing of a bog standard <edit> volume </edit> control. I'll try to find a minute later today or tomorrow to redraw it more clearly. It's nothing out of the ordinary.
My dry, sweaty foot had become the source of one of the most disturbing cases of chemical-based crime within my home country.

A cider a day keeps the lobster away, bucko!

merlinb


Fancy Lime

Quote from: merlinb on February 03, 2025, 11:04:17 AM
Yepp, that is exactly it. So I won't need to draw it, thanks Merlin!
My dry, sweaty foot had become the source of one of the most disturbing cases of chemical-based crime within my home country.

A cider a day keeps the lobster away, bucko!

Mark Hammer

Makes sense to me.  A hi-cut, preceding a SWTC going into the input.  Kind of redundant, though.  Just needs to be drawn differently to make more sense.

PRR

You have cut-off a 1K to the left of everything you show.


  • SUPPORTER

ElectricDruid

Quote from: merlinb on February 03, 2025, 11:04:17 AM

Nice, Merlin. That makes the whole thing *a lot* more obvious.

The odd bit for me here is the 1u to separate the level control from the DC bias, except that the Level control is then *attached* to the DC bias. And then it's connected via *another* DC blocking cap to the output buffer, which then also needs biasing to the same DC bias.

The circuit needs to make its mind up! - Either connect the Level control to ground so that the caps are actually there for a reason, or (in my view, better still) carry the bias from the tone control op-amp to the output buffer and get rid of all the parts you can save like that. There's an argument for *not* doing that if you've got big gains that would be affected by op-amp offsets, but that's not the case here, so we can easily DC couple the whole thing with no unwanted side-effects. Like this:




PRR

Quote from: ElectricDruid on February 03, 2025, 05:49:56 PMneeds to make its mind up!

It bothers me too. But the 4558 is not FET input. At an extreme (back-door rejects) it can be a half microamp bias current. The pots will scratch when turned. Some folks get frantic about that. Some designers get over-frantic before they even try. Or don't have time for Monte Carlo testing. And I am sure you know how very little an extra cap costs today.
  • SUPPORTER

m4268588


digi2t

Well... I'll be darned. Never thought of looking at the Tubescreamer. As always, so much to learn, so little time. Yup, my schematic skills still need improvement. Still, I'm going to bed a bit smarter, so worth the effort.

PRR is correct (as always!), there is a 1k resistor before the first op amp.

Thanks to all for the clarifications. Much appreciated! :icon_biggrin:
  • SUPPORTER
Dead End FX
http://www.deadendfx.com/

Asian Icemen rise again...
http://www.soundclick.com/bands/default.cfm?bandID=903467

"My ears don't distinguish good from great.  It's a blessing, really." EBK

Fancy Lime

Quote from: m4268588 on February 03, 2025, 08:51:50 PM
Quote from: Fancy Lime on February 03, 2025, 06:40:50 AMtreble shelve boost or cut.
no.
treble shelve boost or MID cut.
Nope.
The cut and boost frequemcies are the same, at least with the tube screamer parts values and the ones presented here. At the extreme cut setting, the characteristic changes from shelving to simple low pass, though.
My dry, sweaty foot had become the source of one of the most disturbing cases of chemical-based crime within my home country.

A cider a day keeps the lobster away, bucko!

m4268588

I'm right.
Many people are incorrectly analyzing this circuit.


Version 4
SHEET 1 800 600
WIRE 544 -976 496 -976
WIRE 560 -976 544 -976
WIRE 496 -960 496 -976
WIRE 176 -944 128 -944
WIRE 192 -944 176 -944
WIRE 288 -944 272 -944
WIRE 384 -944 288 -944
WIRE 448 -944 384 -944
WIRE 128 -928 128 -944
WIRE 288 -928 288 -944
WIRE 80 -912 32 -912
WIRE 336 -896 320 -896
WIRE 448 -896 432 -896
WIRE 320 -880 320 -896
WIRE 80 -864 64 -864
WIRE 384 -832 384 -848
WIRE 432 -832 432 -896
WIRE 432 -832 384 -832
WIRE 448 -832 432 -832
WIRE 544 -832 544 -976
WIRE 544 -832 528 -832
WIRE 64 -800 64 -864
WIRE 80 -800 64 -800
WIRE 176 -800 176 -944
WIRE 176 -800 160 -800
WIRE 320 -800 320 -816
WIRE 64 -784 64 -800
WIRE 64 -704 64 -720
WIRE 288 -704 288 -864
WIRE 288 -704 64 -704
WIRE 320 -704 320 -720
WIRE 320 -704 288 -704
WIRE 288 -688 288 -704
WIRE 496 -624 448 -624
WIRE 512 -624 496 -624
WIRE 448 -608 448 -624
WIRE 144 -592 128 -592
WIRE 240 -592 224 -592
WIRE 336 -592 240 -592
WIRE 400 -592 336 -592
WIRE 128 -576 128 -592
WIRE 240 -576 240 -592
WIRE 32 -560 32 -912
WIRE 80 -560 32 -560
WIRE 288 -544 272 -544
WIRE 400 -544 384 -544
WIRE 272 -528 272 -544
WIRE 80 -512 64 -512
WIRE 336 -480 336 -496
WIRE 384 -480 384 -544
WIRE 384 -480 336 -480
WIRE 400 -480 384 -480
WIRE 496 -480 496 -624
WIRE 496 -480 480 -480
WIRE 272 -448 272 -464
WIRE 64 -352 64 -512
WIRE 240 -352 240 -512
WIRE 240 -352 64 -352
WIRE 272 -352 272 -368
WIRE 272 -352 240 -352
WIRE 240 -336 240 -352
WIRE 400 -272 352 -272
WIRE 416 -272 400 -272
WIRE 32 -256 32 -560
WIRE 48 -256 32 -256
WIRE 144 -256 128 -256
WIRE 352 -256 352 -272
WIRE 144 -240 144 -256
WIRE 240 -240 144 -240
WIRE 304 -240 240 -240
WIRE 32 -224 32 -256
WIRE 64 -224 32 -224
WIRE 144 -224 144 -240
WIRE 144 -224 128 -224
WIRE 192 -192 176 -192
WIRE 304 -192 288 -192
WIRE 176 -176 176 -192
WIRE 240 -128 240 -144
WIRE 288 -128 288 -192
WIRE 288 -128 240 -128
WIRE 304 -128 288 -128
WIRE 400 -128 400 -272
WIRE 400 -128 384 -128
WIRE 32 -96 32 -224
WIRE 176 -96 176 -112
WIRE 32 0 32 -16
WIRE 176 0 176 -16
WIRE 176 0 32 0
WIRE 32 16 32 0
FLAG 32 16 0
FLAG 32 -224 Sig
FLAG 128 -848 0
FLAG 496 -880 0
FLAG 560 -976 Out_1
IOPIN 560 -976 Out
FLAG 384 -944 1_1
FLAG 320 -896 1_2
FLAG 384 -832 1_3
FLAG 128 -496 0
FLAG 448 -528 0
FLAG 512 -624 Out_2
IOPIN 512 -624 Out
FLAG 336 -592 2_1
FLAG 272 -544 2_2
FLAG 336 -480 2_3
FLAG 288 -688 0
FLAG 240 -336 0
FLAG 352 -176 0
FLAG 416 -272 Out_3
IOPIN 416 -272 Out
FLAG 240 -240 3_1
FLAG 176 -192 3_2
FLAG 240 -128 3_3
SYMBOL signal 32 -112 R0
WINDOW 123 2 120 Left 2
WINDOW 39 2 104 Left 2
SYMATTR SpiceLine Rser=0
SYMATTR InstName V1
SYMATTR Value ""
SYMBOL e 128 -944 R0
WINDOW 0 -14 48 Left 2
SYMATTR InstName E1_1
SYMATTR Value 100k
SYMBOL e 496 -976 R0
WINDOW 0 -14 48 Left 2
SYMATTR InstName E1_2
SYMATTR Value 100k
SYMBOL res 176 -816 R90
WINDOW 0 0 50 VRight 2
WINDOW 3 32 62 VLeft 2
SYMATTR InstName R1
SYMATTR Value 1k
SYMBOL cap 48 -784 R0
SYMATTR InstName C1
SYMATTR Value 220n
SYMBOL res 176 -928 R270
WINDOW 0 32 62 VLeft 2
WINDOW 3 0 50 VRight 2
SYMATTR InstName R2
SYMATTR Value 1k
SYMBOL cap 272 -928 R0
WINDOW 0 6 24 Right 2
WINDOW 3 6 40 Right 2
SYMATTR InstName C2
SYMATTR Value 220n
SYMBOL res 544 -848 R90
WINDOW 0 0 50 VRight 2
WINDOW 3 32 62 VLeft 2
SYMATTR InstName R3
SYMATTR Value 1k
SYMBOL cap 304 -880 R0
SYMATTR InstName C3
SYMATTR Value 220n
SYMBOL res 304 -816 R0
SYMATTR InstName R4
SYMATTR Value {Trim}
SYMBOL e 128 -592 R0
WINDOW 0 -14 48 Left 2
WINDOW 3 -62 112 Left 2
SYMATTR InstName E2_1
SYMATTR Value Laplace=s*1k*220n+1
SYMBOL e 448 -624 R0
WINDOW 0 -14 48 Left 2
SYMATTR InstName E2_3
SYMATTR Value 100k
SYMBOL res 128 -576 R270
WINDOW 0 32 62 VLeft 2
WINDOW 3 0 50 VRight 2
SYMATTR InstName R6
SYMATTR Value 1k
SYMBOL cap 224 -576 R0
WINDOW 0 6 24 Right 2
WINDOW 3 6 40 Right 2
SYMATTR InstName C4
SYMATTR Value 220n
SYMBOL res 496 -496 R90
WINDOW 0 0 50 VRight 2
WINDOW 3 32 62 VLeft 2
SYMATTR InstName R7
SYMATTR Value 1k
SYMBOL cap 256 -528 R0
SYMATTR InstName C5
SYMATTR Value 220n
SYMBOL res 256 -464 R0
SYMATTR InstName R8
SYMATTR Value {Trim}
SYMBOL e 352 -272 R0
SYMATTR InstName E3
SYMATTR Value 100k
SYMBOL res 32 -240 R270
WINDOW 0 48 62 VLeft 2
WINDOW 3 32 50 VRight 2
SYMATTR InstName R5
SYMATTR Value 1k
SYMBOL cap 128 -240 R90
WINDOW 0 32 18 VRight 2
WINDOW 3 48 46 VLeft 2
SYMATTR InstName C6
SYMATTR Value 220n
SYMBOL res 400 -144 R90
WINDOW 0 0 50 VRight 2
WINDOW 3 32 62 VLeft 2
SYMATTR InstName R9
SYMATTR Value 1k
SYMBOL cap 160 -176 R0
SYMATTR InstName C7
SYMATTR Value 220n
SYMBOL res 160 -112 R0
SYMATTR InstName R10
SYMATTR Value {Trim}
TEXT 0 56 Left 2 !.AC Oct 10 10Hz 100kHz\n \n.Param Tone=0.5 Trim=1049\n.STEP Param Tone 0.0 1.0 0.1
TEXT 320 -24 Left 1 !XU_Tone_1 1_1 1_2 1_3 Tone_Pot Rt=20K set={Tone}\nXU_Tone_2 2_1 2_2 2_3 Tone_Pot Rt=20K set={Tone}\nXU_Tone_3 3_1 3_2 3_3 Tone_Pot Rt=20K set={Tone}\n \n.SUBCKT Tone_Pot 1 2 3\n.Param P_T=1u\n+ W=if(set,\n+    1-(pow(2, max(1-set, 0)*8)-1)/30,\n+      (pow(2, max(  set, 0)*8)-1)/30)\n+  *(1-P_T*2)+P_T\nR1 3 2 {Rt * (1-W)}\nR2 2 1 {Rt * W}\n.ENDS
LINE Normal 384 -872 384 -848
LINE Normal 376 -876 384 -872
LINE Normal 392 -884 376 -876
LINE Normal 376 -892 392 -884
LINE Normal 392 -900 376 -892
LINE Normal 384 -944 384 -920
LINE Normal 376 -908 392 -900
LINE Normal 392 -916 376 -908
LINE Normal 384 -920 392 -916
LINE Normal 376 -896 364 -890
LINE Normal 364 -902 376 -896
LINE Normal 376 -902 376 -906
LINE Normal 373 -902 376 -898
LINE Normal 376 -902 373 -902
LINE Normal 379 -902 376 -898
LINE Normal 376 -902 379 -902
LINE Normal 336 -896 376 -896
LINE Normal 336 -520 336 -496
LINE Normal 328 -524 336 -520
LINE Normal 344 -532 328 -524
LINE Normal 328 -540 344 -532
LINE Normal 344 -548 328 -540
LINE Normal 336 -592 336 -568
LINE Normal 328 -556 344 -548
LINE Normal 344 -564 328 -556
LINE Normal 336 -568 344 -564
LINE Normal 328 -544 316 -538
LINE Normal 316 -550 328 -544
LINE Normal 328 -550 328 -554
LINE Normal 325 -550 328 -546
LINE Normal 328 -550 325 -550
LINE Normal 331 -550 328 -546
LINE Normal 328 -550 331 -550
LINE Normal 288 -544 328 -544
LINE Normal 240 -168 240 -144
LINE Normal 232 -172 240 -168
LINE Normal 248 -180 232 -172
LINE Normal 232 -188 248 -180
LINE Normal 248 -196 232 -188
LINE Normal 240 -240 240 -216
LINE Normal 232 -204 248 -196
LINE Normal 248 -212 232 -204
LINE Normal 240 -216 248 -212
LINE Normal 232 -192 220 -186
LINE Normal 220 -198 232 -192
LINE Normal 232 -198 232 -202
LINE Normal 229 -198 232 -194
LINE Normal 232 -198 229 -198
LINE Normal 235 -198 232 -194
LINE Normal 232 -198 235 -198
LINE Normal 192 -192 232 -192
LINE Normal 48 -656 608 -656 1
LINE Normal 48 -304 608 -304 1

PRR

The "lower" 224 cap -In to ground screws-up quick analysis. It probably "should not be there" for a "classical" response. With that cap, the node has 224 capacitance one way and 448 capacitance the other way, a full octave lower.
  • SUPPORTER

Rob Strand

#13
Quote from: m4268588 on February 04, 2025, 08:11:30 PMI'm right.
Many people are incorrectly analyzing this circuit.

The step from circuit #1 to #2 is very straight forward.
The step from circuit #2 to #3 is pretty cool.   The thing to note is the output impedance of the R2 & C2 in circuit #1 is identical to the output impedance of R5 and C6 in circuit #3; that ensures a good match all settings of the tone control.

If there were clipping diodes on the first stage (or the first stage opamp clips) the (linear) transformations between the circuits won't hold.  Don't worry so much about circuit #2, which can only be linear.   Circuit #3 is where it would be difficult to make equivalence with clipping was added before the circuit.  Circuit #1 would low pass filter any harmonics from clipping.
Send:     . .- .-. - .... / - --- / --. --- .-. -
According to the water analogy of electricity, transistor leakage is caused by holes.

m4268588

In actually, #1 circuit is unrealistic.

Another certificate that #3 circuit legitimate.
Version 4
SHEET 1 800 600
WIRE 400 -624 352 -624
WIRE 416 -624 400 -624
WIRE 352 -608 352 -624
WIRE 48 -592 32 -592
WIRE 144 -592 128 -592
WIRE 240 -592 144 -592
WIRE 304 -592 240 -592
WIRE 144 -576 144 -592
WIRE 192 -544 176 -544
WIRE 304 -544 288 -544
WIRE 176 -528 176 -544
WIRE 240 -480 240 -496
WIRE 288 -480 288 -544
WIRE 288 -480 240 -480
WIRE 304 -480 288 -480
WIRE 400 -480 400 -624
WIRE 400 -480 384 -480
WIRE 176 -448 176 -464
WIRE 144 -352 144 -512
WIRE 176 -352 176 -368
WIRE 176 -352 144 -352
WIRE 144 -336 144 -352
WIRE 400 -272 352 -272
WIRE 416 -272 400 -272
WIRE 512 -272 496 -272
WIRE 528 -272 512 -272
WIRE 32 -256 32 -592
WIRE 48 -256 32 -256
WIRE 144 -256 128 -256
WIRE 352 -256 352 -272
WIRE 512 -256 512 -272
WIRE 144 -240 144 -256
WIRE 240 -240 144 -240
WIRE 304 -240 240 -240
WIRE 32 -224 32 -256
WIRE 64 -224 32 -224
WIRE 144 -224 144 -240
WIRE 144 -224 128 -224
WIRE 192 -192 176 -192
WIRE 304 -192 288 -192
WIRE 176 -176 176 -192
WIRE 240 -128 240 -144
WIRE 288 -128 288 -192
WIRE 288 -128 240 -128
WIRE 304 -128 288 -128
WIRE 400 -128 400 -272
WIRE 400 -128 384 -128
WIRE 32 -96 32 -224
WIRE 176 -96 176 -112
WIRE 32 0 32 -16
WIRE 176 0 176 -16
WIRE 176 0 32 0
WIRE 512 0 512 -192
WIRE 512 0 176 0
WIRE 32 16 32 0
FLAG 32 16 0
FLAG 32 -224 Sig
FLAG 240 -592 1_1
FLAG 176 -544 1_2
FLAG 240 -480 1_3
FLAG 352 -528 0
FLAG 144 -336 0
FLAG 416 -624 Out_4
IOPIN 416 -624 Out
FLAG 240 -240 2_1
FLAG 176 -192 2_2
FLAG 240 -128 2_3
FLAG 352 -176 0
FLAG 528 -272 Out_5
IOPIN 528 -272 Out
SYMBOL signal 32 -112 R0
WINDOW 123 2 120 Left 2
WINDOW 39 2 104 Left 2
SYMATTR SpiceLine Rser=0
SYMATTR InstName V1
SYMATTR Value ""
SYMBOL e 352 -624 R0
WINDOW 0 -14 48 Left 2
SYMATTR InstName E4
SYMATTR Value 100k
SYMBOL res 32 -576 R270
WINDOW 0 32 62 VLeft 2
WINDOW 3 0 50 VRight 2
SYMATTR InstName R4_1
SYMATTR Value 1k
SYMBOL cap 128 -576 R0
WINDOW 0 6 24 Right 2
WINDOW 3 6 40 Right 2
SYMATTR InstName C4_1
SYMATTR Value 220n
SYMBOL cap 160 -528 R0
SYMATTR InstName C4_2
SYMATTR Value 220n
SYMBOL res 160 -464 R0
SYMATTR InstName R4_2
SYMATTR Value {Trim}
SYMBOL res 400 -496 R90
WINDOW 0 0 50 VRight 2
WINDOW 3 32 62 VLeft 2
SYMATTR InstName R4_3
SYMATTR Value 1k
SYMBOL e 352 -272 R0
SYMATTR InstName E5
SYMATTR Value 100k
SYMBOL res 32 -240 R270
WINDOW 0 48 62 VLeft 2
WINDOW 3 32 50 VRight 2
SYMATTR InstName R5_1
SYMATTR Value 1k
SYMBOL cap 128 -240 R90
WINDOW 0 32 18 VRight 2
WINDOW 3 48 46 VLeft 2
SYMATTR InstName C5_1
SYMATTR Value 220n
SYMBOL cap 160 -176 R0
SYMATTR InstName C5_2
SYMATTR Value 220n
SYMBOL res 160 -112 R0
SYMATTR InstName R5_2
SYMATTR Value {Trim}
SYMBOL res 400 -144 R90
WINDOW 0 0 50 VRight 2
WINDOW 3 32 62 VLeft 2
SYMATTR InstName R5_3
SYMATTR Value 1k
SYMBOL res 400 -256 R270
WINDOW 0 32 62 VLeft 2
WINDOW 3 0 50 VRight 2
SYMATTR InstName R5_4
SYMATTR Value 1k
SYMBOL cap 496 -256 R0
WINDOW 0 6 24 Right 2
WINDOW 3 6 40 Right 2
SYMATTR InstName C5_5
SYMATTR Value 220n
TEXT 0 56 Left 2 !.AC Oct 10 10Hz 100kHz\n \n.Param Tone=0.5 Trim=220\n.STEP Param Tone 0.0 1.0 0.1
TEXT 296 8 Left 1 !XU_Tone_1 1_1 1_2 1_3 Tone_Pot Rt=20K set={Tone}\nXU_Tone_2 2_1 2_2 2_3 Tone_Pot Rt=20K set={Tone}\n \n.SUBCKT Tone_Pot 1 2 3\n.Param P_T=1u\n+ W=if(set,\n+     1-(pow(2, max(1-set, 0)*8)-1)/30,\n+       (pow(2, max(  set, 0)*8)-1)/30)\n+   *(1-P_T*2)+P_T\nR1 3 2 {Rt * (1-W)}\nR2 2 1 {Rt * W}\n.ENDS
TEXT 416 -568 Left 7 ;#4
TEXT 528 -216 Left 7 ;#5
LINE Normal 240 -520 240 -496
LINE Normal 232 -524 240 -520
LINE Normal 248 -532 232 -524
LINE Normal 232 -540 248 -532
LINE Normal 248 -548 232 -540
LINE Normal 240 -592 240 -568
LINE Normal 232 -556 248 -548
LINE Normal 248 -564 232 -556
LINE Normal 240 -568 248 -564
LINE Normal 232 -544 220 -538
LINE Normal 220 -550 232 -544
LINE Normal 232 -550 232 -554
LINE Normal 229 -550 232 -546
LINE Normal 232 -550 229 -550
LINE Normal 235 -550 232 -546
LINE Normal 232 -550 235 -550
LINE Normal 192 -544 232 -544
LINE Normal 240 -168 240 -144
LINE Normal 232 -172 240 -168
LINE Normal 248 -180 232 -172
LINE Normal 232 -188 248 -180
LINE Normal 248 -196 232 -188
LINE Normal 240 -240 240 -216
LINE Normal 232 -204 248 -196
LINE Normal 248 -212 232 -204
LINE Normal 240 -216 248 -212
LINE Normal 232 -192 220 -186
LINE Normal 220 -198 232 -192
LINE Normal 232 -198 232 -202
LINE Normal 229 -198 232 -194
LINE Normal 232 -198 229 -198
LINE Normal 235 -198 232 -194
LINE Normal 232 -198 235 -198
LINE Normal 192 -192 232 -192
LINE Normal 48 -304 608 -304 1

ElectricDruid

m4268588, why do you not use actual op-amp models in your simulations?

I realise it wouldn't really make any difference for this, especially when compared to the "ideal" op-amp model, but I'm just curious.

PRR

Quote from: ElectricDruid on February 05, 2025, 08:31:38 AMwhy do you not use actual op-amp models

It's more trouble to set up (power pins, thinking about non-infinite performance) and doesn't tell anything more than a simple voltage/current source equivalent (until we are far outside the guitar band).

Also as an old 8087 abuser, I appreciate the reduced computation of a model without pointless (to me) parts.
  • SUPPORTER

Fancy Lime

Quote from: m4268588 on February 04, 2025, 08:11:30 PMI'm right.
8)

Sorry, I should have been more specific. It is true that the additional 220nF to ground add to the high cut. But since it always does that, no matter the Tone setting, I did/do not consider it part of the Tone control. But that is, of course, a matter of taste or point of view.

Anyway, more to Toms point: You can spice this with opamps. And wouldn't you know, you get exactly the expected result for the TS. Or you can connect the bottom of the 220nF that normally goes to ground and instead connect it to the output of the gain stage, parallel to the 1k resistor. Then, and only then, do you get the graphs that m4... got. If you also choose to set the trim pot, which is a fixed 220 Ohm resistor in a normal TS, to the rathe curious value of 1049 Ohms. Edit: And leave out the 10k bias resistor but that one is silly anyway.
My dry, sweaty foot had become the source of one of the most disturbing cases of chemical-based crime within my home country.

A cider a day keeps the lobster away, bucko!