I think of 1st, 2nd and even higher order effects. BTW offset is not a source of non-linearity, it may help invoke some non-linear behavior like moving the voice coil away from the center zero point. Op-amps with a few mv or even uv of offset are available cheaply. Your circuit board layout will probably introduce more offset than the op-amp if your not very careful. Offset is easily corrected anyway, either a simple pot or even digitally with the DAC (assuming you have enough resolution).
If you look at your voltage source solution, you can have a built-in source of non-linearity in the source resistor. If you cause a resistor with 200ppm temperature-coefficient (fairly common resistor) to have a 25C temperature rise, it's resistance will change by 1/2%. That's over 1LSB in a simple 8 bit system, and over 20 LSBs in a 12 bit system and 327 LSBs at 16 bit systems!!
Cross over distortion is easily reduced to the point of almost elimination with feedback. In current mode operation the current is forced through the load by feedback. In my circuits at low values it will come directly from the op-amp up to about +0.8 ma, then the NPN bipolar Vbe will increase causing the transistor to supply more current as needed. If the direction changes the op-amp still supplies the -0.8ma until the Vbe of the PNP allows it to supply more current. In no case is the current disrupted as you goe thru zero, it simply is supplied by the op-amp and then assisted by the transistors.
Because of the op-amp tremendous open loop gain, the voltage at the - input which is the sense resistor to ground must equal the + input, V+. This produces V+/Rsense current that must flow through the load. This is not like your classical B output stage where you have a "dead zone" around zero due to the Vbe drops, current mode has no "dead zone".
Ray, as far as your challenge goes I've solved this problem over 40 years ago. You have it right in front of you!! I first used this in a generator controller in ~1975 at Beckwith Electric (maybe still in production, I was VP of Engineering), in 1982 in the XM-21 Remote Sensing Chemical agent detector (Principle Engineering Fellow at Honeywell), a couple applications at Northrup Grumman (Chief Scientist) and at ITT (Chief Scientist/Engineer). I've taught this (current mode) and similar techniques in the graduate level courses I created and taught at USF back in ~2000 & 2003.
Suggest you take some time to study analog electronics, many good references from National Semiconductor, Analog Devices, Burr Brown and a great Op-Amp book by Roberg from MIT.
Anyway, hope this helps.
Mike...thanks for the additional explanation. I am pretty well versed in analog as it is both a hobby and a profession, though 95% RF. I do see how the opamp itself supplies the current in the crossover region, but I'm still skeptical about linearity in this region, since Opamps are far from perfect and contain their own complementary output stage that must be biased and can cause errors. The question is whether the magnitude of the errors are enough to cause any concern given the smallest current step size being requested by the DAC, or if the errors are in the noise such that no nonlinearity is noticed.
I'm not very concerned about the nonlinearity of the resistor. The change in resistance happens slowly/incrementally, so shouldn't cause a "glitch" in the response curve. The speaker itself is far more nonlinear from my data, and the speaker+resistor can be considered a single unit from perspective of predistortion.
If a lot of thermal-induced nonlinearity is present in the speaker + resistor, then predistortion may have some issues due to thermal capacity of the system causing a time-varying response. I did not see any of this in the speaker I tested, and in fact turned the supply on/off to see how quickly it would reach steady-state, and at all levels I measured it happened on order of a hundred msec.
Note the reply to Rik above.
Any non-linearity within the closed loop negative feedback system gets the benefit of feedback reduction, wether it be from the external cross-over of the npn-pnp output transistors, or the op-amp internal class AB output stage, or the highly non-linear internal gain stages within the op-amp.
If you research the open-loop transfer function (Vout vs Vin differential) of most op-amps they look horrible. I recall the popular ua741 has an actual polarity reversal of the inputs at a few microvolts offset and the overall curve of Vout vs. Vin looks like some roadmap meandering all over. Without the benefits of negative feedback this op-amp and most others would be worthless for use in most applications where somewhat linear response is desired, yet op-amps are used everywhere....Why? Because of the benefits of negative feedback. Creating high open loop gain is easy in analog design, high linearity is not. However with negative feedback the easily achieved open loop gain is traded off for improved linearity, a highly beneficial trade off.
With the resistor non-linearity mentioned, the resistor will dissipate R*I^2 heating, thus as you increase the current the resistance value changes due to self heating, which in a voltage controlled system like you have will cause the current to change, thus changing the self heating again and the cycle continues. You correct for this non-linearity by adjusting the supply voltage to compensate, and intrinsically become a negative feedback system, thus achieving the desired current in spite of the resistor non-linearity. You do this at every current set point and monitor the current to be sure it stays put!! Thus the function of negative feedback control.
However, if you want to automate your setup as Peter desires, you probably don't want to "be in the loop" for every stack. This is where the DAC comes in and the loop-up table helps, it allows you to measure and correct (negative feedback) only once and then let the DAC and look up table do the repeated work. Their is one "gotcha" (Murphy's term) here, it assumes the complete system stays the same. With moderately non-linear effects and temperature controlled environments this is a reasonable assumption, not so with highly non-linear effects, or highly changing environments. These are areas where continuous negative feedback systems work and show their value, constantly monitoring and correcting the effects introduced by variations in environment, component aging, supply variations, load variations and so on.
Many extremely linear systems use both continuous negative feedback and look-up tables and even more concepts (coherent sampling), the control loop in the 1982 XM-21 Michelson Moving Mirror Interferometer (Voice Coil driven) was an example of all these linearization techniques. Maintaining sub-micron accuracy in all military environments (temperature and vibration for example), component variations and aging, and production tolerances were required. Even today this is not possible without the benefits of negative feedback current mode operation.
I see you are involved with RF. That'a an area I have been working for some time now. It all started back in 1989 with the invention (later patented 5603111 & 5909147) of the 1st silicon based single chip L band microwave receiver. I worked with the brilliant folks at Bell Labs with their advanced silicon CBIC-V2 complementary Bi-Polar process to implement this receiver architecture. It's the basis of our cell phones today, the direct-down conversion or zero IF receiver concept.
All this has led to the implementations of many of the older lower frequency concepts (negative feedback for example) into the RF and now Microwave (MW) and Millameterwave (MMW) areas, all because of much faster devices available today. Why not use these techniques at higher frequencies if possible, many advantages over conventional RF design are possible and improved Size Weight and Power (SWAP) and Cost are direct benefits.
Recently applying some of these techniques (closed loop negative feedback, and intrinsic non-linearity canceling) with an Indium Phosphide Hetro-Junction Bipolar process has yielded a RF, MW and MMW Broadband (DC-40GHz) Mixer with an 3rd Order Output Intercept Point (OIP) of +46dBm!! This Mixer consumes a few hundred milliwatts and requires a modest LO drive of -3dBm. A good example of what feedback systems can do at MMW frequencies, other functions like extremely linear, low noise broadband amplifiers and such are in the works!!