Bob Cordell said:Using this, I can see down to -140 dB THD components at 1 kHz fundamental. I can see to below -120 dB for either THD20 or 19+20 kHz twin tone.
Bob
When can we purchase reasonably priced distortion magnifiers+accessories from your website? 😉
Bob Cordell said:Where did everybody go? Been awfully quiet here. Maybe Mike is catching up on his sleep?
Bob 🙂
Thanks for asking, Bob. I'm not one of the regulars, here, but have been following the thread. And I, too, was wondering where everyone had gone. As for myself, I've been working on gainclone error-correcting power amplifier designs, day and night.
Lately I've been focusing on making the amplifiers more robust, with respect to different types of loads, and have noticed some probably-obvious tendencies:
For driving "large" capacitive loads, e.g. up to 2.2uF or 3.3uF:
With one goal being to have zero overshoot or ringing, it helps a lot to add more current-dumping capability to the power stage. i.e. I put two or three chipamps in parallel.
It is also necessary to slew-rate-limit the input, to be less than or equal to the slew-rate capability of the entire power stage.
Then there are the time-alignment problems. The delay of the output versus the input can cause relatively-large error-signal transients, especially for fast-rising input signals, which can very easily result in clipping of the error feedback voltage, and the voltage at the input of the power amplifier. There are two techniques that I have used to overcome (or at least alleviate) this problem.
One technique is to use a delay filter, to delay the input signal before it is compared to the output signal. An all-pass filter could be used. But some amount of lowpass effect is desirable, anyway. So I used a lowpass linear-phase-.05-degree-equiripple-error type of configuration, with 0dB gain in the passband. The trick is varying the number of poles so that both the delay and the cutoff frequency are what are needed. Note that with a higher-order filter, you can use a higher cutoff frequency but still also get a large-enough group delay.
I also realized that, after the output and the delayed input are differenced, and then that error voltage is amplified, that the resulting error feedback signal should be subtracted from an input signal that is also delayed. So, a single filter can be used, right at the input, with its output going to both the output/input differencer AND the feedback/input differencer.
It is, of course, then impossible to get the signals at both inputs of each difference amplifier to be exactly time-aligned. But, it's relatively easy to get the delayed-input vs. output time-difference down to, say 100ns instead of 900ns, while the delayed-input vs. feedback time-difference goes from, say, 1100ns to 260ns. And that seems to be "good enough". i.e. For 30vpp squarewave input and output signals with risetimes of 4us, the 100ns vs. 900 ns difference translates into roughly a 1-volt difference instead of a 7-volt difference, during the edge transitions. And, since I want to be able to use opamps, with +/-18v supplies, to do the subtractions, and then amplify the difference as much as possible, that smaller difference is very welcome.
To lower the magnitude of the output/input difference even more, a second technique that I used was to adjust, slightly (< 10% downward), the output's "summing" resistance, so that, for squarewave signals, for example, the error/difference voltages produced during the leading/trailing peaks of the squarewaves were minimized. This, by itself, can easily result in a reduction of the magnitude of the leading and trailing peaks, at the input to the power amp, by a factor of two to three, which, in my case, can take the worst-case peaks at the amplifier's input from well into hard clipping to very well below clipping. (Note also that I have no voltage dividers, or any (other) unequal diff-amp resistor pairs, anywhere, and chipamp gain is 10, error amp gain is about 26, with overall gain about .988. So far, I have only one error loop: I take chipamp output plus delayed and inverted input, amplify that sum, then subtract that from the delayed input, giving chipamp input. I do also have to use small capacitances in parallel with the "summing" resistors for the output and the feedback.)
Using both the input-delay filter and the i/o difference-amp resistance adjustment, for a 30vpp 4us-risetime squarewave input, with a load of 2.2uF || 8 Ohms, compared to not using either one, brought the leading/trailing peaks at the power amp's input down from 25v-35v to 6v-7v, not to mention greatly-enhancing stability and enabling the use of much higher error-amp gain.
All of that has enabled my latest amp design (if three chipamps are used in parallel) to have, in LT-Spice at least, 0.000105% THD-20kHz (for 20vpp sine, while the input, after the RF filter and buffer but before the delay filter, has a THD of .000019%), while also being able to push squarewaves (of over 32vpp with 4us risetimes) into 8 Ohms || 2.2uF with _zero_ overshoot or ringing (or, for 30vpp, 750mv of overshoot for 1/2-cycle, if only two chipamps are paralleled, instead of three).
With 3.3uF || 8 Ohms, for 32vpp 4us-risetime squarewaves there is significant clipping of leading and trailing peaks of both the error feedback and the amp input voltages, but the output only overshoots about 230mV for about 1/2-cycle (of 2 MHz). But, for a 30vpp 4us-risetime squarewave into 3.3uF || 8 ohms, there is very little feedback or input clipping, and zero overshoot or ripple (and the chipamps even appear to still be within their peak current limits 🙂 ).
The amp's overall frequency response is DC to 375kHz (-3dB), with F0.1dB at 40 kHz.
(Unfortunately) this was all done with the relatively-less-good OPA541 as the chipamp model (running with more than +/-18v, by the way, while all of the opamps were powered with +/-18v), instead of the LM3875 or LM3886, for which I have no models. So maybe the actual results can be better. My LM3875 and LM3886 samples have arrived. So I will soon try to find out.
- Tom Gootee
http://www.fullnet.com/~tomg/index.html
gootee said:
All of that has enabled my latest amp design (if three chipamps are used in parallel) to have, in LT-Spice at least, 0.000105% THD-20kHz (for 20vpp sine, while the input, after the RF filter and buffer but before the delay filter, has a THD of .000019%), while also being able to push squarewaves (of over 32vpp with 4us risetimes) into 8 Ohms || 2.2uF with _zero_ overshoot or ringing (or, for 30vpp, 750mv of overshoot for 1/2-cycle, if only two chipamps are paralleled, instead of three).
Hi gootee,
Could you show me how to obtane meaningfull THD results while performing 20kHz xyVpp sine transient test, like how to configure input voltage source, and syntax for .tran command. Also, how to configure input pulse source (squarewaves) and to know at what freq. I'm performing test, and how to read results. Thank you!
Hi, Gootee,
Interesting. How can you make EC with amp chip?
As for myself, I've been working on gainclone error-correcting power amplifier designs, day and night.
Interesting. How can you make EC with amp chip?
Hi Tube-Dude,
---David Hafler null test , but everybody here don't agree to much with the idea.---
Hafler and Baxandall null tests are intellectually so simply brilliant that most subjectivists prefer to avoid any debate about them, don't they ? I will be very glad to read more about them here. Threads related to Bob Cordell's name are really wealthy.
---David Hafler null test , but everybody here don't agree to much with the idea.---
Hafler and Baxandall null tests are intellectually so simply brilliant that most subjectivists prefer to avoid any debate about them, don't they ? I will be very glad to read more about them here. Threads related to Bob Cordell's name are really wealthy.
lumanauw said:Hi, Gootee,
Interesting. How can you make EC with amp chip?
Hi, lumanauw.
The power chipamp is only one of the components. Using some low-power opamps (or other means; transistors would probably be better), circuitry is added that forms an error-correction feedback loop around the higher-power chipamp, et al.
i.e. Using the classic operational amplifier topologies for summing and differencing amplifiers (See application notes AN-20 and AN-31, at http://www.national.com), you can arithmetically subtract the chipamp's output from the overall input to get an error feedback signal, amplify it, and then arithmetically add the result to the chipamp's input, to try to cancel-out any error and distortion.
Or, as long as the polarities all work out OK, you can use only differential amplifier types of topologies, since they have some nicer qualities.
- Tom Gootee
aparatusonitus said:
Hi gootee,
Could you show me how to obtane meaningfull THD results while performing 20kHz xyVpp sine transient test, like how to configure input voltage source, and syntax for .tran command. Also, how to configure input pulse source (squarewaves) and to know at what freq. I'm performing test, and how to read results. Thank you!
Hello, aparatusonitus.
I posted a downloadable example LT-SPice circuit, on page 136 of this thread, which is at http://www.diyaudio.com/forums/showthread.php?s=&threadid=89023&perpage=10&pagenumber=136 .
To calculate THD, with LT-Spice, you use the .four operator, possibly as shown in my example, with a sine source, during a transient simulation.
When the simulation run has been completed, you find the THD results by using the View --> Spice Error Log menu options.
The .four command's arguments are described in the Help menu options, but are basically like this, in my example:
.four freq number_of_harmonics_to_use number_of_cycles_to_use name_of_signal_or_node
Note that "number_of_cycles_to_use" cycles will be taken from the END of your transient simulation run. In my example, I ran it for 20 cycles and used the last 10 cycles for the THD, since the power supply transients took about 10 cycles to settle down.
(ASIDE: Note that you can also right-click on any transient plot, or use the View menu option, and perform an FFT (fast Fourier transform) of any plotted quantities. But try to make sure that you do it for exactly an integral number of cycles, or else a very large number of cycles. While I'm at it: Another useful trick: If you right-click on the heading/label of a quantity being plotted, you can enter almost any expression you want, for plotting. Another trick: If you hold down Alt and click on any component in your schematic, LT-Spice will plot the total dissipation of that component. Another trick: If you hold down Ctrl and left-click on a plot heading/label, it will report the integral and the average of that quantity, for the displayed time-interval. You can magnify portions of plots by dragging a rectangle around the part you want to display.)
You can right-click on the sine and pulse sources in my example, to see how they were set up.
I also created a "freq" parameter, to save manual recalculation. But you could also simply enter actual numbers, instead, for the transient command's Stop Time, the sine source's Frequency, and the .four command's Frequency.
In order to get more-meaningful THD (and other) results, you need to click on menu options Simulate --> Edit Simulation Command and then set the Maximum Timestep to something like .00000001 (depends on frequency). You can make it larger, to get faster simulation times. But if good-enough accuracy is desired, you should iteratively make it smaller until the THD results no longer change, significantly.
There is _much_ GREAT information about using LT-Spice available in the LT-Spice discussion group, at http://www.yahoogroups.com .
Good luck!
- Tom Gootee
http://www.fullnet.com/~tomg/index.html
Hi, Gootee,
I tought you have a way to get inside a chipamp cct, put something around its output stage 😀
If the correction is made by adding outside opamp, can this still be called "EC" or feedback/feedforward?
I tought you have a way to get inside a chipamp cct, put something around its output stage 😀
If the correction is made by adding outside opamp, can this still be called "EC" or feedback/feedforward?
lumanauw said:Hi, Gootee,
I tought you have a way to get inside a chipamp cct, put something around its output stage 😀
If the correction is made by adding outside opamp, can this still be called "EC" or feedback/feedforward?
I believe that it can. The Theory doesn't care about what hardware, if any, is used for its implementation.
If you have a block digram of a control system, you can try to build it with whatever hardware (and/or software) you want to use. But that doesn't change the underlying Control Theory of the system.
- Tom Gootee
http://www.fullnet.com/~tomg/index.html
Hi, Gootee,
I'm not an expert here, but is it possible that a non-perfect device (like opamp, or even a single transistor) doesn't add its own distortion if that device is used for a central of correcting process?
Sometimes, a novel concept can work beautifully just because of simplicity (NP's SuSy is a good example).
I'm not an expert here, but is it possible that a non-perfect device (like opamp, or even a single transistor) doesn't add its own distortion if that device is used for a central of correcting process?
Sometimes, a novel concept can work beautifully just because of simplicity (NP's SuSy is a good example).
lumanauw said:Hi, Gootee,
I'm not an expert here, but is it possible that a non-perfect device (like opamp, or even a single transistor) doesn't add its own distortion if that device is used for a central of correcting process?
Sometimes, a novel concept can work beautifully just because of simplicity (NP's SuSy is a good example).
Hi, lumanauw,
Every real device and component contributes noise and distortion, wherever it is in a circuit. But, that does NOT mean that adding devices and components to any circuit will necessarily increase the distortion or noise at the circuit's output.
One goal, with EC, and with feedback control systems in general, is to try to minimize the distortion that appears at the output, when compared to the input.
Yes, the "extra" opamps, et al, do introduce distortion of their own, wherever they are used. But one of the OVERALL effects, with a good EC design, OR a good "standard" negative feedback design, _IS_ to dramatically LOWER the distortion that is seen at the output, as compared to not using the feedback with the opamps etc.
There are those who like to say "Simpler is always better.". But I think that that statement should be amended to say "Simpler is not always better.".
Or, paraphrasing an Albert Einstein quote, things should be made as simple as possible, but no simpler.
- Tom Gootee
http://www.fullnet.com/~tomg/index.html
@ gootee,
Thank you for time and elaborated explanation about LT Swcad guts. Now, I'll take some time to digest...😀
Thank you for time and elaborated explanation about LT Swcad guts. Now, I'll take some time to digest...😀
gootee said:There are those who like to say "Simpler is always better.". But I think that that statement should be amended to say "Simpler is not always better.".
Since my name name has been invoked here, I will point out
that my belief is that "All other things being equal, simpler is
better". I believe this is historically known as Occam's Razor.
😎
Nelson Pass said:
Since my name name has been invoked here, I will point out
that my belief is that "All other things being equal, simpler is
better". I believe this is historically known as Occam's Razor.
😎
Nelson Pass,
Thanks very much for commenting. I was a bit startled to receive a response from someone so well-known.
In the context of your statement of Occam's Razor, I like to think that if I can design something that makes some of the "all other things" very unequal, because they're so much better, such that it might actually justify less simplicity, then that's probably "a GOOD thing". But, unfortunately, there are usually many factors to consider, in that justification process.
Sorry if this is a non-sequitur, but, another version, or variant, of Occam's Razor (at least I _think_ it is), is: "Usually, the simplest explanation is the correct one.". That one has even come in handy when trying to sort-out my teenage childrens' "stories". 🙂
Thanks again.
- Tom Gootee
http://www.fullnet.com/~tomg/index.html
Today I've made my Hawksford EC experiment board working. I use front end that I'm familiar with (used to be paired with ordinary output stage).
I haven't measure anything, but this is my impression from testing it about 1 hour.
-It really works as advertised. It makes the crossover distortion disappears. I tested it a simple way. Only using 1 pair of output bipolars, test it from underbiased (final only 0V4 on B-E of output transistors), with feedback taken from VAS (the output stage running open loop). Usually crossover distortion very clear with this test (just hearing it, without having to look into scope), but not this time.
-While it does indeed fix crossover distortion, it still behaves like ordinary feedback. There's no property of " fix everything". For example, it still obeys the rule of 15-25mV drop on RE. In this bias setting, the sound is the best. This means the EC itself has limitation in fixing things.
-It sounds different than output stage that is heavy biased/full classA.
-It sound different than output stage that has many output pairs (without EC). If you are looking for "heavy" sound, parrareled many output transistors is the "only" way, EC cannot make this sound.
I haven't measure anything, but this is my impression from testing it about 1 hour.
-It really works as advertised. It makes the crossover distortion disappears. I tested it a simple way. Only using 1 pair of output bipolars, test it from underbiased (final only 0V4 on B-E of output transistors), with feedback taken from VAS (the output stage running open loop). Usually crossover distortion very clear with this test (just hearing it, without having to look into scope), but not this time.
-While it does indeed fix crossover distortion, it still behaves like ordinary feedback. There's no property of " fix everything". For example, it still obeys the rule of 15-25mV drop on RE. In this bias setting, the sound is the best. This means the EC itself has limitation in fixing things.
-It sounds different than output stage that is heavy biased/full classA.
-It sound different than output stage that has many output pairs (without EC). If you are looking for "heavy" sound, parrareled many output transistors is the "only" way, EC cannot make this sound.
mikeks said:
If there is enough interest, I'll consider putting together a PCB design, and maybe do a construction article in AudioXpress or the like. I've got a lot going on right now, so it has been difficult to prioritize a lot of different things. May day job and my wife's "honey - do" list keep interfering 🙂.
Bob
Nelson Pass said:
Since my name name has been invoked here, I will point out
that my belief is that "All other things being equal, simpler is
better". I believe this is historically known as Occam's Razor.
😎
Hi Nelson,
The "all other things being equal" is of course the key. Also, we always need to separate out the issues of simpler is better from the issue of cost of manufacture as opposed to obtaining better sonics. Most of the guys on this thread might not think twice about the extra cost of adding a couple of more small-signal transistors, but a real manufacturer migh have to take that more seriously into the mix.
I think its also fair to say that simpler is better more often than not bodes well for reliability, although there are probably numerous counter-examples to that as well. For example, if we spend four transistors to do the same function as one (performance being equal), but the simpler approach requires the one transistor to disspate 10 Watts, and the four-transistor approach requires each transistor to dissipate only 500 mW, then maybe this is an example where simpler is not more reliable.
I probably wouldn't be characterized as being in the simpler-is-better camp, but certainly don't believe in adding complexity just because I can or because it may make life more interesting. As an example, I will virtually always choose to cascode a VAS to get the improved linearity, and that would seem to be a case where the net effect of the added transistor is to improve performance without any downside.
On the other hand, when something simple really does the trick, it is a beautiful thing.
Best regards,
Bob
mikeks said:
Somehow i remain unconvinced that thus cooking your EC loop transistors has no effect on the linearity of the loop.
After all, this is responsible for the non-linearity occasioned by the dreaded thermal feedback in monolithic op. amps.
Better link here.
- Home
- Amplifiers
- Solid State
- Bob Cordell Interview: Error Correction