DC Servo question...

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Music is produced in just about every case by something vibrating, whether it's a string, drum, vocal chord, air, etc. Your answer talks about theoretical things but does not answer the actual question.

I observed the "transient DC offsets" in actual music, and posted the data. You were the one who was merely asserting, contrarily, with no evidence or theory to back it up, except for your inability to imagine how it could happen. The burden of disproving the possibility of the existence of what was apparently observed in real world music signals is on you, in this case. I was just trying to help you imagine how it was not only possible but extremely likely, even just in theory.

"Inaudible" is in my mind pretty well defined..

But you did not define, at all, for anyone else (the ones you were wanting to try to communicate with), what is in your mind. When I mentioned that your "inaudible" was not well-defined, I was trying to use a delicate way of saying that what you believe to be inaudible might still be affecting sound quality. i.e. Without knowing more about your knowledge, skills, and abilities, there was no way to know whether or not what you said could be taken at face value.

But if you want to sit around here talking about which inaudible servo is better than which other inaudible servo, please feel free. Just that I have no interest, sorry. Just as I have no interest in other inaudible aspects of music reproduction, such as the color of the box you put the electronics in, the meal you just ate or the phase of the moon. Enjoy.

Obviously, we DID want to talk about it, four years ago, and found it quite interesting. But thank you for giving us your permission to do so.

If you were not interested in this thread, then why did you post?

Personally, I am hugely interested in the inaudible aspects of music reproduction, since they are extremely important and are required in order for us to even be able to create a high-fidelity music reproduction system, i.e. by making noise, ripple, and distortion, and all other undesirable effects, inaudible.
 
Last edited:
I got pointed at this thread by someone who questioned the servo design in my moskido amp design. I did not mean to be rude - apologies if you got that idea.

I pointed out to him that the servo is "inaudible" in the sense that I cannot hear any difference when it's connected and active, and when it's disconnected. Normally I just use my ears and well known test tracks. But nowadays it's also possible to use tools like Diffmaker which can profile A/B differences.

I certainly agree with the idea that you want to make noise, etc, inaudible. But I was querying the statement:

some inaudible servos would be better than others

Better in what sense? Maybe one might be cheaper as it uses less parts?

Surely it cannot be because one sounds better, as we already know that both are inaudible.

Anyway, I won't bother you again.
 
Thanks for the clarification.

It's been a long time since I thought about this stuff. But there were other qualities besides inaudibility (but which are almost always trade-offs vs inaudibility); speed, for example, and correction range, and, of course, DC accuracy. And I guess there would have to also be "more inaudible" or "less inaudible", depending on the gain vs frequency plot through the servo. I believe that was our main criterion, i.e. minimizing what was injected back into the signal path, especially as frequency rose of course. Aguably, we probably went way below the threshold of inaudibility, just to see how low we could possibly make it, while also trying to meet other requirements, such as minimizing time-to-correction and maximizing correctible range. I think that we also toyed with the idea of incorporating a catastrophic-case speaker protection mode, triggered when the offset passed beyond a threshold.

I believe that we almost always wanted two opamps. One would be the differential integrator and one would be used for a DC-accurate active low-pass filter.
 
Hi Dxvideo,

I have simulated your DC Servo circuit, with LT-Spice, using +/-15v supply rails and OP275 opamps, for now, just as a test.

I inserted an DC voltage source (the offset) in series with a 1V 0-to-peak 50 Hz input sine voltage source (lower frequencies simulate faster, usually).

The first thing I see is that R12=47K is way too big, for your present configuration. With R12=47K, the integrator opamp U2 does not have enough range to servo-out more than about 30 mV of input offset. (That might be why the circuit seemed to work without adding much distortion, even without any low-pass filter before or after the integrator. i.e. The integrator simply wasn't contributing much of anything to the main amplifier's input.)

As AndrewT said, you should plot the U2 output voltage for a transient (i.e. vs TIME) simulation run. If the U2 integrator output voltage is close to the negative power supply rail (or, actually, close to the opamp's maximum negative swing for whatever voltage rails you have), then the integrator opamp U2 "can not go any farther", and its maximum offset-correction range has been reached, or exceeded.

So we could, now, simply "decide" what is the MAXIMUM input offset voltage that we want the circuit to be able to servo back to zero, and then adjust the value of R12, until the output voltage of the integrator opamp U2 approaches its maximum possible negative output voltage ONLY when the input offset voltage approaches the maximum correctable offset value that we decided to use.

Just for now, as a test, let us say that we want to be able to servo-out a maximum input offset of of 500 mV DC. So, I first set the DC value of 0.5V for the voltage source that is in series with the input signal sine voltage source. Then I run a transient simulation and plot the U2 output voltage versus time, and also plot the output voltage versus time. I see that, with +/-15v power supply rails, the U2 output voltage is something like 2.4 mV p-p, and its average DC level is below -14.2V, which is not changing. i.e. It is "pegged" to its negative limit. The output, at the same time, is not symetrical around the zero-volts horizontal axis (having 4.4V max and -1.6V min).

So I lower the value of R12, with a guess, to 1K, and re-run the transient simulation. NOW, the U2 output voltage has an average DC value of about -5 Volts, and the output voltage is centered around the 0-volts axis. So that R12 value WOULD work, for a 0.5v maximum input offset (and for even more).

That might be fine. But, if we want to get the most accuracy, and assuming, for now, that we did finally decide that 0.5v was a large-enough maximum offset to be able to correct, then we might want to increase the value of R12 so that the U2 integrator opamp would use more of its available output voltage-swing range. For example, increasing R12 to 2.2K would make the U2 output voltage's average DC value about -11 Volts, for a 0.5v input offset.

Now, it is, normally, absolutely necessary to have at least a low-pass filter for the output of the integrator opamp U2, because with the lower R12 value, which is needed to get enough correction range, there is now a much larger component of the main U3 opamp's input that is coming from the integrator. And the integrator's output voltage is 90 degrees out-of-phase with the main amplifier's output and its + input's signals. So, mixing the U2 integrator output and the U3 input WILL produce distortion. The only question is: HOW MUCH distortion will we allow it to contribute to the final output?

Another way to look at that: We only NEED and want the DC component of the integrator's output, for the purpose of servoing-out any DC offset voltage. So we should try to remove as much of the AC component as possible, to minimize the distortion that it will cause.

So, for now at least (i.e. without considering changing something else in the circuit, instead), I would change R12 to be two 1K resistors in series, and then connect a capacitor to ground from between the two 1K resistors. For this discussion, I will use C7 to name that capacitor.

The value of C7 must be chosen. And the value of C5, the integrator capacitor, could also be changed.

But, before thinking about setting the values of C5 and C7, I made a change to my input offset voltage source: I made it apply a DC voltage step, after 0.2 seconds, instead of just a constant 0.5v starting at 0 seconds. So, now, the offset voltage source is 0 volts DC until t=0.2 sec, when it changes to 0.5v DC.

Using the stepped offset voltage might give us a better picture of how the integrator is working. And it actually IS quite different than what we saw with the constant 0.5v that started at time=0. Even with the new C7 removed from the circuit, the TPv1 output voltage takes well-over 10 seconds to slew back to an average DC value of about 0 volts, after the 0.5v offset step is applied! (I only ran it for 10 seconds. It wasn't there, yet.)

And I see that we have an AC ripple component at the U3 integrator output of about 37 mV p-p.

I'm guessing that we might want to first increase the speed of the integrator, and then use whatever low-pass filters that we find to be necessary and sufficient, for the output and/or input of the integrator.

Changing the integrator capacitor C5 to 220nF (a nice value that is available in a very small size polypropylene in the WIMA MKP2 series), and with the new C7 still removed from the circuit, the Tpv1 output voltage now takes about 10 seconds to have its DC offset completely corrected back to zero, and is 90% corrected after about 2.7 seconds. And now the U2 integrator output ripple is about 83 mV p-p.

As a test, I changed C5 to 100nF. That made the servo response time about 1/2 of what it was with 220nF. Now, the U3 output AC ripple is about 183 mV p-p.

I'm running out of time, for now. Sorry.

At any rate, you can continue, from this point, by testing different values for C5 and C7, maybe starting with 100 nF and 22 uF. You could also make an input low-pass filter for the integrator: Try splitting R5 into two series resistors of 0.5Meg each, and placing a small capacitor to ground from between those resistors, while looking at the transient simulation runs.

One goal is to make the AC ripple, that gets back to U2's input from the integrator, a small as possible, while still having a stable system that is fast-enough.

Make sure that you also run some "long-time" simulations, eventually at least, in case there's a very slow instability that makes the whole thing drift to one of the rails after a long time.

Also, it's a good idea to include capacitors' ESR (Equivalent Series Resistance) in series with any electrolytic capacitors. For polyproylene, as a guess, you can probably just use some low R, like .005 ohms, and maybe .05 ohms for polyester.

Also, later, if you ground the input and then check the DC offset at the U3 output, you can check to see if changing R1 and R2, while keeping R1 x R2 the same, changes the output offset toward zero. Note also that you could change R3 (and maybe R9), first, and see what happens to the U3 output offset. After that (or maybe iteratively), you can check the DC offset of the U2 integrator output, and see if you might be able to lower it toward zero by changing R5 and C1, but such that R5 x C1 stays about the same, and keeping R11=R5.

More later.

- Tom Gootee

Make Easy and Cheap PCBs at Home, Curve Tracer (& DIY Kits), Building Inexpensive CNC Machines at Home, Good Used Electronic Test Equipment for sale; Tektronix, HP, and many others: Oscilloscope, Signal generator, Power Supply, Spectrum Analyzer, Fre


Hi all, I found this thread, which contains some servo information at the level of detail I probably need. (I explained my servo issue in the other thread, I'm trying to make a 2-stage preamp work, and I'm getting what appears to be some servo-related oscillation or "maximum range exceeded" or some such thing).

Let's see, I've never used SPICE but I'm good with electronics/schematics, should I be trying to simulate my circuit this way? I have 1meg/.47uF integrator, and 100k resistor in series with servo output. I noticed specifically Mr. Gootee's comments about "the resistor isn't big enough", maybe this is what's happening to me?

How can I find out? What's the best path to the goal (smooth servo operation)?
 
Hi all, I found this thread, which contains some servo information at the level of detail I probably need. (I explained my servo issue in the other thread, I'm trying to make a 2-stage preamp work, and I'm getting what appears to be some servo-related oscillation or "maximum range exceeded" or some such thing).

Let's see, I've never used SPICE but I'm good with electronics/schematics, should I be trying to simulate my circuit this way? I have 1meg/.47uF integrator, and 100k resistor in series with servo output. I noticed specifically Mr. Gootee's comments about "the resistor isn't big enough", maybe this is what's happening to me?

How can I find out? What's the best path to the goal (smooth servo operation)?

Link to "the other thread"?
 
The thing I'm most grappling with is the oddball behavior when I put a series capacitor between the two gain stages.

This definitely changes the servo behavior, and makes the "phase inversion" appear more prominently and more easily.

Both my gain stages are variable gain, the first one has 20-60 dB and the second one has -6 to + 14. The first one is an AD797 and the second one is a 990c. They're both very vanilla non-inverting amps, there's a 300 ohm resistor between the amps (which is where I put the series capacitance to get the oddball "phase shift" or whatever's happening there).

So, I have an OPA-602 as the first servo (with the AD797), and typically as I rotate the gain control I see maybe 100 mV maximum change in DC offset. This is when the gain stage is operated by itself, without the second gain stage following it. The servo works just fine this way. The servo here is "slow", it's set to 1meg/.47 uF. But it corrects the 100 mV offset in a few seconds, everything's peachy when the stage is operated by itself.

In the second stage I have an OPA-604, running at +/- 24 like the 990c, and that uses the same component values as the first stage, 1meg/.47uF for the integrator and a 100k resistor in series with the servo output.
 
I don't see your schematic.

A DC servo can be based on a non-inverting servo or an inverting servo.

You choose the servo type depending on the relative phase of output tapping to injection points.

Right. I have non-inverting servos feeding into the - input of the amplifiers. My schem looks just like a Jensen Twin Servo except the servos are connected to the - input(s) instead of the + input(s).

It appears that this is specifically the source of my problem: something is increasing the input bias current in the first stage AD-797 (thereby increasing the input offset and therefore the DC at the output).

I'm theorizing that it's the "bias adjust circuitry" in the second stage that's doing it. That circuit looks exactly like it does in a John Hardy M-1, it's just a small positive voltage that gets applied to both inputs simultaneously.

The AD, for some reason, doesn't like this "small positive voltage" at the output (ie the load returns to non-zero/non-ground). Not sure, but it almost seems like it's working its way backwards into the first stage bias current.
 
a non inverting servo feeding the +IN input will drive the output to rail.
An inverting servo feeding the -IN input will drive the output to rail.

A proper selection uses a Non inverting servo to feed the -IN input.
or an inverting servo to feed the +IN input.

Think it through.
Output offset goes +ve. Non inverting servo goes +ve at both it's input and output.
That +ve is sent to the -IN and forces the amp output towards -ve, i.e corrects the +ve offset.
 
Adding such dc servo loop to a otherwise flat-frequency-response amplifier is effectivly changing amplifier to a high pass filter, the corner frequency is K/(2*Pi*R5*C4) as in #4 schematic, where K is amplification from servo opamp output to main Amp output. In this case, K is roughly 0.5. so the corner frequency is 0.15Hz, change R5 to 100k, this corner is moved to 1.5Hz, to a 20Hz music frequency lower limit, it is going to be hard to tell the corner difference between 0.15Hz to 1.5Hz, unless other conponent has different value so your corner is not 0.15Hz to start with.

To a music signal, I do not believe 0.15Hz or lower corner frequency can make an audable difference, but lower corner frequency will make the whole amplifier slower to settle at power up.



Hi all, I found this thread, which contains some servo information at the level of detail I probably need. (I explained my servo issue in the other thread, I'm trying to make a 2-stage preamp work, and I'm getting what appears to be some servo-related oscillation or "maximum range exceeded" or some such thing).

Let's see, I've never used SPICE but I'm good with electronics/schematics, should I be trying to simulate my circuit this way? I have 1meg/.47uF integrator, and 100k resistor in series with servo output. I noticed specifically Mr. Gootee's comments about "the resistor isn't big enough", maybe this is what's happening to me?

How can I find out? What's the best path to the goal (smooth servo operation)?
 
a non inverting servo feeding the +IN input will drive the output to rail.
An inverting servo feeding the -IN input will drive the output to rail.

A proper selection uses a Non inverting servo to feed the -IN input.
or an inverting servo to feed the +IN input.

Think it through.
Output offset goes +ve. Non inverting servo goes +ve at both it's input and output.
That +ve is sent to the -IN and forces the amp output towards -ve, i.e corrects the +ve offset.

Jeez.... yeah, I'm not THAT much of a beginner. :)

Inverting servo should feed the non-inverting input, or a non-inverting servo should feed the inverting input. Easy.

And, take your pick, there should be zero difference in terms of the result, right? Either way, your output gets driven to 0 DC and stays there.

This is a much more sophisticated problem. Something is actually changing the behavior of the first stage, not just the servo but the amplifier itself. I'm thinking it's the second stage "bias adjust circuitry", and I'm about to start playing with that, so I should have some details for you by the end of the day. The thing is, when the AD is plugged into an ordinary 10k load (resistor) there's only 20 mV of output offset change when the gain pot is rotated through its range. When the AD is connected to the second stage instead, suddenly there are VOLTS of offset when the first-stage gain pot is rotated through its range. That's the first problem I need to understand, before I can select the proper component values for the servo. Yes?
 
could one or other servo be going into unstable resonance and thus hitting rail voltage?

Some opamps invert output when going outside the spec limits.

Yes. In my case it turns out to be a little more complicated than that - I'll explain it in the other thread. (As best I can, at this point).

I believe I already linked to the John Hardy schematic, yes? If not, here it is again. http://www.johnhardyco.com/pdf/M1_M2_M1p_20031025.pdf

Note the "bias adjust circuitry". That's the culprit, in my case.

And if you look at the 990c schematic here http://www.johnhardyco.com/pdf/990.pdf you'll see the pair of diodes across the inputs...

Anyway, so, if you're DC-coupled to the previous stage the currents can run backwards into the previous stage's servo.
 
I am not an expert, but the type of ceramic cap that is available in large values (i.e not NP0 or C0G) might have issues with being microphonic, and with temperature or voltage coefficient of capacitance (capacitance might vary when temp or voltage varies). Or maybe not. But you should check. And if any of those ARE significant, then you should also check how they might affect servo operation.

Other than issues like those, polypropylene and ceramic usually both have very low dielectric absorption ("voltage memory" effect); better than most other types except teflon, I think.

Edit: WIMA had some little red polypropylene box caps that came in 1uF, that I think were roughly 1 cm x 1 cm footprint, or less.
 
Last edited:
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.