MUFF WIGGLER Forum Index
 FAQ & Terms of UseFAQ & Terms Of Use   Wiggler RadioMW Radio   Muff Wiggler TwitterTwitter   Support the site @ PatreonPatreon 
 SearchSearch   RegisterSign up   Log inLog in 
WIGGLING 'LITE' IN GUEST MODE

EXPO with simplified Rossum compensation
MUFF WIGGLER Forum Index -> Music Tech DIY  
Author EXPO with simplified Rossum compensation
elektrouwe
high frequency errors in exponential VCOs, which are caused by bulk resistances in the expo transistor pair, can be compensated with a circuit invented by Dave Rossum.
Rene Schmitz has the details here: Exponential Converters Tutorial

This method requires a diode, which in theory should have the same temperature and characteristics as the expo pair :

During my work with "expoOTA", a LM13700 misused as exponential current source, I came up with a simpler solution for the Rossum compensation, which does not use a diode.
It can also be used in standard expos as my simulation shows:


how it works:
in general, Rossum compensation feeds back a fraction of the expo output current to the CV input to compensate the voltage loss from the base bulk resistor.
Here, the expo output current is measured through a base current sense resistor (trimmer) Rtrm1. This voltage is fed back to the CV summing amplifier, which acts as a noninverting amplifier. To keep the sensing Rtrm1 as small as possible, it is necessary to amplify the small sense voltage. Because CV is attenuated in the CV summing opamp - Rfeedback << Rcv, its noninverting gain G=1+Rfeedback/Rcv) is close to 1.
By adding Rroco1 "parallel" to Rcv, noninverting gain can be raised to about 2 , which is sufficient in my example.
The log scaled graph of the expo current through Rsense1 shows the "linearity bending" caused by Rtrm1:
when turned to 0R , the ideally straight line is bent down - an uncompensated VCO would go flat in the high end.
when turned up to about 1k, the line becomes straigth - VCO would be perfectly tuned now
when turned towards 2k, the line is bent up - VCO would be overcompensated and go sharp

I've tested this simplified Rossum compensation in my expoOTA type VCOs and VCFs and can confirm > 9 octaves "well tempered" tuning range. This is astounding, because the LM13700 transistors have a Rbb of around 60 Ohms, in comparison to an LM394 with 0.6 Ohm!
I would like to hear, if my above simulation results can be confirmed in a real circuit. If we had a list of transistor types and Rroco1 and (trimmed) Rtrm1 values, it might be possible to use a fixed resistor pair per transistor type. What do you think ?
adam
If you're interested Dave has improved on a 2164 based expo convertor design for the ssi2164 datasheet, uses 3x cells of an ssi2164



https://www.amazingsynth.com/parts/ssi2164/SSI2164_Data_Sheet_Rev_3-0. pdf
guest
hello elektrouwe, i like the simplified design here. the one comment i have, is that it is highly dependent on the beta of the transistors (as the base current is 1/B the actual current youre interested in). for the BC847 in your design this is less of an issue, as beta is relatively constant over the current range. but, this is not true for a lot of transistors. beta also varies with temperature a fair bit.
cygmu
If the expo output current is headed to somewhere whose voltage is fixed, e.g. the virtual ground of an op amp acting as an integrator, or the Iabc port of an OTA, could we use the resistor in the position marked Rsense instead? That would get around the beta dependence. But maybe it just won't work...?
guest
that would also allow for a larger voltage swing on Rsense, so that offset voltages were less of an issue.
jorg
Great idea! Also a great idea to use Rsense for the feedback.
elektrouwe
guest wrote:
the one comment i have, is that it is highly dependent on the beta of the transistors

I was wondering about that too. In the expoOTA design, were I use the whole Iabc current mirror as "expo transistor" this dependency does not exist: Iabc "reflects" Iout (assuming a perfect current mirror)
But how does this work with the 2 NPNs ?Ib/Ic and Ib/temp dependencies are modelled in the simulation, but I don't see a temperature dependent Ic variation in my simulations. I guess the reason is that both NPNs are voltage driven, not Ib driven, and if the Ib dependencies are the same in both transistors they cancel out. Will think about this next weekend...
elektrouwe
cygmu wrote:
If the expo output current is headed to somewhere whose voltage is fixed, e.g. the virtual ground

??? that's exactly what I did: Rsense is only 1 Ohm and titled "expo current
output to virtual gnd" or do I misunderstand you ?

EDIT: ah, now I got it: you mean replacing Rsense with the Rossum resistor ?
yes, that works, that how I did it with the Iabc mirror.
Base is grounded and the Rossum "sensing" resistor is 4.7 Ohm fixed and
because there is no good 5R trimmer, Rroco1 becomes a (5k) trimmer.
guest
elektrouwe wrote:
But how does this work with the 2 NPNs ?Ib/Ic and Ib/temp dependencies are modelled in the simulation, but I don't see a temperature dependent Ic variation in my simulations. I guess the reason is that both NPNs are voltage driven, not Ib driven, and if the Ib dependencies are the same in both transistors they cancel out.


i think the issue here is, that the effect is small for the transistors you are using. if you take a look at the beta versus temp/Ic graph in the datasheet, youll see that beta is practically constant for this transistor from 100uA and up. the graph doesnt go very low, but the low ranges dont really matter here. but, i did some quick tests for this thread, which might help.

https://www.muffwiggler.com/forum/viewtopic.php?t=199023

the BC847 is identical to the PMP4201.

its really in the 50uA range and up that the compensation resistor will effect the circuit, and the beta is pretty flat from there to 500uA, which is about the top that the expo will typically run at.

as for temperature variation, the datasheet show about +1beta/degree C. in other words, if beta is 200@25C, its 201@26C. so, for a 40C change, that would be 200 to 240, or 20%. but, thats on something that is effecting the pitch by 1% to maybe 4% max. so its only 0.2% change in pitch, which probably isnt visible on the graph, but is audible. i find it helpful to visualize the data in terms of error versus CV, rather than current versus CV, as the errors we want are so small that they cant really be seen elsewise.
elektrouwe
ok, simulated Ic sensing: Rsense can be 1R (BCxxxC are much better than LM13700 transistors :-)) and the trimmer should perhaps be a 10k type.
MUFF WIGGLER Forum Index -> Music Tech DIY  
Page 1 of 1
Powered by phpBB © phpBB Group