""A Generalized Algebraic Technique For Modeling Triodes""

Jean-Charles Maillet

```

Overview and History

The idea of generating Spice simulation models for vacuum tube circuits draws a lot
of appeal to researchers who understand the limitations of the highly approximative
classic theory.  Unfortunately most of the techniques currently used to model
vacuum tube devices fail to comply with the accepted practices of device modeling in
several basic ways.   First, the models are generally based on theoretical
considerations instead of properly measured and averaged device transfer data;
second, the models only address the output port current function and so provide an
incomplete functional description of the device; thirdly, the models are fixed in the
sense that one cannot readily alter them for customized match.

Early VT Spice models [1,2] are strongly based on assumptions made in tube circuit
theory which were primarily intended  to provide analytically tractable equivalent
device replacements for use in hand analysis.  These assumptions are: (i) a 3/2-power
based expression for plate current, and (ii) a zero or near-zero expression for grid
current.  The 3/2-power law is derived from a one-dimensional representations of the
tube's conduction channel and does not mimic u-factor dependence on terminal
voltages whereas the zero grid current assumption represents the view of an idealized
voltage sensing circuit and does not hold in large-signal situations.  More recent
modeling efforts [3,4] either introduce variant forms of the plate current expression
or build on it to derive a more accurate match to unspecified data.

In order to generate device models useful for accurate Transient and AC simulations
not only must absolute current levels match but they should also be close in the first
order derivative (slope) of the transfer curves over the whole range.  The divergence
between the curvature of  transfer curves of existing models and that of real devices
has been mentioned previously [5], but here Fig. 1 shows precisely how poor Koren's
12ax7 model performs against corresponding RCA transfer data.  Other researchers
have also published comparative results based on Koren's model without intending to
display descrepencies though their results strongly suggest otherwise [6].

Fig. 1, Koren's Pspice simulation
of a 12ax7 triode against RCA data (bold)

We see that the plate resistance in Koren's model, corresponding to the first
derivative of the Ip(Vpc) curves, does not match well against RCA's in an area where
typical load lines are known to lie.   This is important because the poles and zeros of
coupled circuits depend primarily on the dynamic properties of the active devices
used, even more so in designs avoiding any kind of global feedback.  It follows that
this type of divergence in curve characteristics most likely would  produce
considerable numerical errors in circuit simulations and so cannot be trusted for
exacting needs such as the design of an open-loop RIAA-compensated phono preamp.

A New Model For Vacuum Tube Triodes

To solve such problems I propose a new model which is based on a complete
definition of two-port networks and includes a freer algebraic expansion of the
transfer characteristics which is derived from device data directly.  The functional
aspect of the model is covered by the principle which states that a two-port network
is deemed completely specified over a given variable range if port currents can be
determined in terms of both port voltages in that range.   The model will be
demonstrated for a 12ax7 vacuum tube triode though it can be applied to any other
type of triode easily.

Fig. 2 General two-port network representation

For a vacuum tube triode this means specifying  Ip and Ig current functions in terms
of both Vgc and Vpc voltage differences.   This two-port formulation must hold over
the device's intended range of application, one which is as wide as possible.  This is
of great relevance these days because researchers want to answer questions regarding
the triode device behavior well into "full on" conditions, an area not well covered by
past theories and models.  Also, the model fit should be accurate over the main
regions of application in absolute as well as incremental terms, that is, the first
derivative of the approximation function should fit well against corresponding data
derivative functions.  When these three conditions are met we have obtained what
should be considered a reasonable device substitute suitable for use in a simulation
environment.

Fig. 3 Terminal current functions corresponding to the
two-port network formulation of a vacuum tube triode device

Reference Data

I use tube data provided by the RCA catalog [7] mainly because it is averaged and
therefor lends itself well to a representative or generic model formulation.  In other
words, RCA data is taken as a reliable and universal guide for establishing model fit,
though disagreement is possible in cases where strictness in regards to past
measurement techniques is warranted.  In an ideal case all individual brands and
types of tubes should be tested, averaged and modeled, as is the case for transistors.
When more accurate data becomes available, extracted with modern techniques, can
official models be generated.

Because many of us are especially curious about tube behavior in the overload region
the curves supplied by RCA need to be extended into the positive range of input
voltages.  Known to be erroneous for extracting complete sets of transfer curves, I use
the grid shift technique on a GE 12ax7 to mark out two extra Ip(Vpc) curves not
provided by RCA.  Though this may seem incongruent and peculiar to some it will do
for purpose of demonstration.  The model will therefore possess a reliability range
covering -5 to +1 volts on the input port.  Outside this range the model has little
guarantee of reliability and so input voltage levels should be monitored, especially in
transient and swept-source simulations.  The data used in generating the model is
vectorised  from a random choice of point pairs lying on the curves.

Grid current specs are not available for this tube although they can be extracted on
the bench with a considerable degree of error.  And because grid current levels are
known to vary by as much as two orders of magnitude from tube to tube in a same
manufacturing lot there is no reason to be too fussy with this side of the data as long
as it corresponds moderately well.  I use 6v6 grid current specs and scale it down to
values which I've measured with 12ax7 tubes on the bench.  Though this data should
be provided accurately by modern test facilities in creating official models, again it
will suffice for purposes of demonstration.

vgc = +1.0
0.0,0.121 5,1.60 18,2.03 41,2.66 79,3.74 116,4.79
vgc = +0.5
0.0,0.06 20,1.04 59,2.08 81,2.53 118,3.57 134,4.0
vgc = 0.0
0.0,0.0 7,0.28 17,0.56 43,1.07 68,1.46 86,1.79 119,2.45 134,2.79
158,3.39 181,3.98
vgc = -0.5
0.0,0.0 24,0.18 59,0.56 95,1.08 122,1.54 147,2.02 173,2.60 193,3.06
214,3.55
vgc = -1.0
52,0.11 76,0.28 108,0.59 129,0.86 155,1.24 178,1.64 211,2.32 246,3.12
vgc = -1.5
97,0.11 137,0.40 169,0.76 193,1.13 226,1.63 277,2.66
vgc = -2.0
142,0.12 171,0.30 206,0.62 243,1.10 281,1.73 311,2.33
vgc = -2.5
183,0.12 208,0.24 237,0.46 265,0.74 294,1.13 321,1.56 342,1.96
vgc = -3.0
225,0.12 248,0.20 280,0.40 313,0.72 339,1.05 372,1.57
vgc = -3.5
284,0.12 308,0.27 334,0.46 370,0.81 397,1.17
vgc = -4.0
319,0.12 342,0.22 372,0.38 402,0.65 425,0.90
vgc = -4.5
363,0.13 388,0.22 413,0.36 446,0.62
vgc = -5.0
405,0.12 421,0.17 442,0.26 463,0.40

Table 1, RCA 12ax7 transfer data in discrete vector form

Polynomial Interpolation

In the case of vacuum tube triodes both the grid and plate current functions exhibit
transfer characteristics which make them ideal for polynomial interpolation; that
is, both current function dependencies to Vpc are knee-less, unlike transistor and
pentode devices, and  their evolution from one constant input voltage curve to the
next very is very gradual. These two simple traits can be exploited to derive a model
based on a polynomial interpolation of the vectorised data set.  The advantage of
using polynomial function lies in their ability and freedom to approximate all
continuous functions accurately whereas the space covered by 3/2-power based  and
many other fixed order functions is greatly limited in comparison and would exhibit
limits on approximation ability.   Because polynomial interpolation involves
weaving through point pairs the data needs to be log-converted in order to avoid
negative current values when approaching the x-axis.

With or without this logarithmic scale conversion the basic idea behind the use of
polynomial interpolation remains the same.  That is,  each curve making up the
transfer set has a set of point pairs by which a set of polynomial coefficients can be
extracted;  I use Matlab for this [8].  Note that the resulting set of coefficients depends
on the original choice of point pairs taken from the curves (see Table 1).  So for every
Ip(Vpc) or Ig(Vpc) curve corresponds a group of coefficients which can be listed in
tabular form against the input voltage Vgc.

CP1P0 =  -2.2579e-03   4.6069e-02  -2.0346e-01   4.9278e-01  -6.8805e+00
CP0P5 =   7.0981e-03  -5.7696e-02   1.0537e-01   7.7425e-01  -9.1508e+00
CP0P0 =   8.8347e-03  -7.2027e-02   1.2145e-01   9.5389e-01  -1.0093e+01
CM0P5 =   2.5971e-03  -2.9848e-02   1.6737e-01   7.4775e-01  -1.2005e+01
CM1P0 =  -6.9709e-03   4.0845e-02   2.1593e-01   3.4068e-01  -1.4616e+01
CM1P5 =  -1.7082e-02   8.2555e-02   5.7013e-01  -1.4974e-01  -2.0729e+01
CM2P0 =  -2.4575e-02   1.3531e-01   6.8172e-01  -1.1425e-01  -2.6793e+01
CM2P5 =  -2.6901e-02   1.5198e-01   7.7130e-01   1.3492e-01  -3.2297e+01
CM3P0 =  -1.7776e-02   4.9488e-02   1.0619e+00   1.3333e+00  -3.9986e+01
CM3P5 =  -8.7813e-03  -3.0020e-02   1.1642e+00   2.7989e+00  -4.7449e+01
CM4P0 =   4.6364e-03  -1.6978e-01   1.2942e+00   5.5445e+00  -5.6533e+01
CM4P5 =   1.6994e-02  -2.9338e-01   1.3500e+00   8.3722e+00  -6.5618e+01
CM5P0 =   4.0726e-02  -5.5315e-01   1.8574e+00   1.1129e+01  -7.6001e+01

Table 2, Fourth order interpolation of vectorised RCA 12ax7 plate current data
against output voltage Vpc.

Because we interpolate each data vector to the same order each time this gives a very
specific meaning to the column values of Table 2.  Namely, each column represents a
functional relationship between a particular coefficient order and the input voltage
variable Vgc.  Because the columns are also in vectorised form we can interpolate
their function polynomial once again to yield coefficient sets corresponding to each
column.

K0 =   3.3101e-3   6.4276e-2   4.7240e-1   1.5643e+0   1.8661e+0  -2.8135e+0  1.9145e+0
-9.9158e+0
K1 =   1.3632e-3   1.8921e-2   1.0492e-1   2.6213e-1  -4.8578e-2  -8.3349e-1   3.2558e-2
9.5428e-1
K2 =  -1.4882e-3  -2.0981e-2  -1.0960e-1  -2.4952e-1  -1.7040e-1   2.2391e-1   2.5192e-2
9.5766e-02
K3 =   3.4761e-4   4.2512e-3   1.7002e-2   2.4265e-2   3.1025e-2   7.5560e-2  -3.9657e-2
-6.6107e-2
K4 =  -2.4359e-5  -2.4727e-4  -5.6853e-4   5.2888e-4  -1.9288e-3  -1.3258e-2   4.7989e-3
8.4148e-3

Table 3, Seventh order interpolation
on initial set of interpolation coefficients against input voltage Vgc

Because this last set of coefficients can be used to generate not only the previous set
of coefficients, by expanding the polynomial expression at the values of input voltage
Vgc corresponding to the data, but also those coefficients corresponding to voltages
lying between voltage values chosen to represent the data with.  Provided the order is
chosen properly in the second interpolation we can produce a fill-in which follows
along with the general progression in the coefficient values themselves.  The ability
of each interpolation function to cut through the first level coefficients in a well-
behaved manner is depicted in Figure 4.

Fig. 4 a,b,c,d,e; Second level interpolation of
first level coefficients against input voltage Vgc

Clearly, if the interpolation at this second level weaves through the coefficient values
of the first level interpolation, which is of a lower order and therefore requiring less
numerical accuracy to reconstruct closely, then there is a good chance that the
original data can be recovered from the last set of coefficients alone.  In this case,
with the log conversion and subsequent expansion taken into account, we can write a
general form for the converted current function in a computationally economical
polynomial expansion form in terms of terminal voltages as :

Log(Ip(Log(Vpc),Vgc)) =

Ko(Vgc) +K1(Vgc) (Log(Vpc) +K2(Vgc) * (Log(Vpc) +K3(Vgc) * (Log(Vpc) +K4(Vgc) * Log(Vpc))))

Eq. 1

Model described as double-use of equation (1)
for both grid and plate current functions (log conversion not shown)

In all cases the coefficient functions Ki(Vgc) is again a polynomial equation of the
same form but without any Log terms since the only  plate-to-cathode voltages are
originally compressed.

One advantage provided by the log-scale conversion on the data is a reduction in
transfer set curvature which allows for increased interpolation accuracy .  However,
this prevents us from reaching down all the way to Vpc=0v.  So we establish an
arbitrary low voltage  minima (0.1v) on the second variable's domain and set by
hand the data in the area of very low current and voltage as a means of guiding the
polynomials appropriately through the important voltage regions.  This is the only
disadvantage to the model and one which can cause great pains in instances where
the simulator rolls back the power supply voltage at the beginning of simulations.

For this reason initial values need to be set properly in many simulations or else
failure to converge is almost guaranteed.  The reason for this lies in the fact that the
model now comprises two active ports with completely independent minds of its own
unlike other models which have a passive front port and an active output port.  Here,
if one port sends its current function in the wrong direction too fast before the other
port can make up its mind then circuit voltages will arise in which the model cannot
recover itself and eventual convergence becomes impossible.  To date there is no
exact solution for this problem though it would have to involve low voltage data
manipulation as some my own experiments have shown in the past.

Algorithm of Continuous, Monotonic and Reversible Transformations

The chain of continuously monotonic and reversible operations starting from the
data, to the model and lastly to the output estimate is provided as follows:

(1) original data given as "functional"  port current in terms of Vpc in vectorised
form, each vector pair corresponding to a fixed value of input port voltage Vgc (2) log-
log conversion on data to ensure non-negativity of interpolation, (3) polynomial
coefficient extraction from data function vectors (4) separation of vector function
into individual components (5) polynomial coefficient extraction of individual
coefficient functions (6) coefficients of these polynomial functions stored in model, (
(7) coefficients used to generate any set of lower coefficient values continuously, i.e.
for any value of Vgc (8) coefficients used to estimate the value of log-log current
characteristic continuously for that value of input voltage Vgc; that is, for any value
of Vpc (9)  log of the output value calculated by expanding the polynomial function on
the input value generates the estimate on current. (10) the value is exponentiated to
reverse the log operation used in storing current data and so output estimate is
obtained.

Provided the composition of all operations remains accurate, requiring each step to
be accurate as well, we find the overall scheme approximates a reversible identity
function on the original data set and therefore elsewhere provided the coefficient
functions Ki(Vgc) are well behaved in the sense described above.

Pspice Subcircuit Model

The Pspice [9] subcircuit for the full model is listed below in Table 4, in it are found
grid and plate current functions necessary for describing both functional and
transfer characteristics of the device according to the general two-port formulation
described above.  Notice the repeated use of the Poly function which is a
computationally efficient functional expression, a prime motivator for deriving the
algorithm polynomially.  Also, note the use of Log and Exp functions which are the
next in level of computational complexity  which are used only once each per netlist
pass.  Both these facts suggests that the model can run most efficiently though the
netlist seems cumbersome compared to previous models which, in actual fact, make
use of computationaly hefty subroutines.

Controlled voltage sources are used to implement the polynomial functions while a
transconductance function converts the last operation to port current.  Notice that
the Pspice demo package does not penalize controlled source calls as much as, say, a
diode subcircuit call.  This means that larger circuits can be simulated in restricted
platforms such as the demo version of Pspice.  Dummy termination resistors on the
inner polynomial controlled source circuits are provided in order to avoid what the
simulator perceives as an inductor loop.  Also, static parasitic capacitance values are
provided as crude representatives although interpolation techniques similar to those
used for terminal current could be used to model them as well based on the results of
triode space-charge studies.

***************** p g c ***************************************************
.subckt RCA12ax7  1 2 3
*************************
eGIogVpc 20 0 value={log(v(1,3))}
rGlogVpc 20 0 1
eG0 10 0 poly(1) <2,3>   -3.7694e+00   1.9947e+00   5.9432e-02
eG1 11 0 poly(1) <2,3>   -3.2024e-02  -4.1443e-02  -4.8236e-03
eG2 12 0 poly(1) <2,3>    1.9127e-02  -1.2189e-02  -1.5526e-03
eG3 13 0 poly(1) <2,3>   -1.1354e-02   4.9339e-03   6.1016e-04
rG0 10 0 1
rG1 11 0 1
rG2 12 0 1
rG3 13 0 1
gG   2 3 value={(exp(v(10)+v(20)*(v(11)+v(20)*(v(12)+v(20)*v(13)))))/170}
*
eP0 110 0 poly(1) <2,3>    -9.9158e+0  1.9145e+0 -2.8135e+0  1.8661e+0
+						 1.5643e+0  4.7240e-1  6.4276e-2  3.3101e-3
eP1 111 0 poly(1) <2,3>     9.5428e-1  3.2558e-2 -8.3349e-1 -4.8578e-2
+						 2.6213e-1  1.0492e-1  1.8921e-2  1.3632e-3
eP2 112 0 poly(1) <2,3>     9.5766e-2  2.5192e-2  2.2391e-1 -1.7040e-1
+						-2.4952e-1 -1.0960e-1 -2.0981e-2 -1.4882e-3
eP3 113 0 poly(1) <2,3>    -6.6107e-2 -3.9657e-2  7.5560e-2  3.1025e-2
+						 2.4265e-2  1.7002e-2  4.2512e-3  3.4761e-4
eP4 114 0 poly(1) <2,3>     8.4148e-3  4.7989e-3 -1.3258e-2 -1.9288e-3
+						 5.2888e-4 -5.6853e-4 -2.4727e-4 -2.4359e-5
rP0 110 0 1
rP1 111 0 1
rP2 112 0 1
rP3 113 0 1
rP4 114 0 1
gP    1 3 value={(exp(v(110)+v(20)*(v(111)+v(20)*(v(112)+v(20)*(v(113)+v(20)*v(114))))))}
Cgc 2 3 1.8p
Cgp 2 1 1.7p
Cpc 1 3 1.9p
.ends

Table 4, Pspice subcircuit model for RCA 12ax7

By comparing Spice output against original RCA data we can see that the fit is fairly
accurate in both absolute and first order terms and should therefore allow us to
determine more accurately important triode circuit characteristics such as small and
large-signal distortion characteristics.

Fig. 5, New model against RCA data (bold),
including additional positive input voltage curves

Grid current plot is shown in Figures 6a and 6b so that readers can be convinced of
their validity.  The grid current function is monotonic down to -5 volts which is as
important for proper behavior as it is for the plate current function.

Fig. 6a, Grid current response of new model, linear scale

Fig. 6b, Grid current response of new model, log scale

Large Signal Spice Simulations

The model presented here was derived primarily to accurately  determine the non-
linear drive and load properties of triode tube circuits and also for examining the
effects of grid current and device transfer non-linearities in large-signal cascaded
triode gain stage simulations.  This is where wide-range device non-linear
characteristics meet to produce some of the circuit behavior responsible for
providing tube circuits with their signature feel.

Fig. 7, Typical common-cathode gain stage biasing  ... :)~

For example, the primary drive characteristics of a typical 100k/1.5k@300v gain
stage employing a 12ax7 tube can be simulated to extract the exact wide-range circuit
transfer function.  This circuit transfer function can later be used to generate Fourier
coefficient evolution against source amplitude to produce accurate harmonic
distortion characteristics.  A DC sweep is used to generate the various transfer
functions present in the circuit against the circuit's input voltage sweep of -6v to +6v.
Notice how the device's input port voltage Vgc varies against circuit input voltage Vg.

Fig. 8, Transfer variables of common-cathode gain stage
against swept input source

By simulating the front end of a cascaded triode circuit (Table 5), as seen in many
amplifier circuits, we can highlight a property of triode tube circuits which is
particularly relevant to guitarists.  In particular we're interested in determining how
grid current response changes (reflecting a dynamic response factor change) which
seems to occur when the amp is full on compared to 90% by simulating the cascading
of two gain stages.

Fig. 9, Typical cascaded gain stages with
current source and volume control

The test involves suddenly applying a 1KHz sine wave current to the grid of the first
deliver energy to the circuit, and observe the waveform at the first plate as a function
of second stage loading.  By setting the input source to a large enough amplitude we
overload the second stage so that the second grid circuit sources appreciable amounts
of current relative to the plate circuit of the first stage.

In this test the potentiometer setting goes from full on to 90%.  In the first case the v
volume pot simply acts as a 1Meg load to ground with no series resistance between
plate and grid of the two stages.  In the second case, a one to nine reduction in grid
voltage amplitude occurs because of the resistive voltage divider while introducing a
100kW resistor in the signal path.  This resistive component  attenuates grid current
production and in fact has dropped by about 50%.  Though  a 10% voltage signal loss
has occurred we see a 50% reduction grid current.  This relative difference suggests a
drastic increase in input circuit loading on the previous stage when the pot is turned
full on.  Though somewhat crude, this test lays a foundation for explaining why
Fender Blackface amplifiers have a smoother, less distortive, response compared to
the older Fender Tweed amps.

Fig. 10, Plate voltage and grid current occurring
at interface of cascaded gain stages

Further step transient simulations can show that, indeed, grid current plays an
interesting role in establishing compressive effects.  Other simulations have shown
that plate transfer non-linearities together with grid current characteristics work
together in the same direction towards establishing large-signal compression effects.

Cascaded gain stages with RCA 12ax7 spice model
*
Vsupply 99 0 300
* input pickup represented as ideal sinusoidal current source
Iin 0 1 sin(0 1e-6 1000hz 0)
*input resistor
*low input 2
Rg1 1 2 68k
*high input 1
*Rg1 1 2 34k
*first gain stage
Rg2 2 0 1Meg
Rc1 3 0 1.5k
Rp1 99 4 100k
x1 4 2 3 RCA12ax7
Cs1 4 5 .02u
* pot at 100% rotation
Rvol1 5 6 1
Rvol2 6 0 1Meg
* pot at 90% rotation
*Rvol1 5 6 100k
*Rvol2 6 0 900k
*second gain stage
*zero volt source used as 0W current monitor
Vig2 6 96 0
x2 8 96 7 RCA12ax7
Rp2 99 8 100k
Rc2 7 0 1.5k

*** insert 12ax7 tube model here

*initial conditions
.ic v(2)=-0.570591 v(3)=1.4180 v(4)=230.526 v(5)=-0.570591
+   v(6)=-0.570591 v(7)=1.4180 v(8)=230.526
*transient and output processor calls in pspice
.tran 1e-6 1e-3 0 1e-6
.probe
.end

Table 5, Pspice deck for two stage circuit

MATLAB & Pspice Sourcefiles

-------------

References

1. Dr. W. Marshall Leach, Jr., "SPICE Models for Vacuum Tube Amplifiers," JAES, Vol. 43,
No. 3 (March 1995)  pp. 117-126

2. S. Reynolds, "Vacuum-Tube Models for SPICE Simulations," GA 4/93, pp.17-23

3. N. Koren, "Improved VT Models for Spice Simulation," GA 5/96, pp. 18-27, 69

4. C. Rydel, "Tube Modeling," GA (Letters) 6/96, pp. 69-71

5. E. Pritchard, "Tube-Model Critique", GA (Letters) 1/96, pp. 54-57

6. J. Tolonen, "High-performance Tubed DAC Output Stage," GA 2/97, pp. 22-32

7. RCA Tube Manual, 1958

8. Matlab, Student Edition, The MathWorks, Inc. 1992

9. Pspice 6.0, MicroSim Corporation, 1994

~:( HOME :)~

viva Analog /// jc -> lynx.net

```