Derive version 6.10 DfW file saved on 03 Mar 2007 ?DIODE_PARAM(vp):=[n1 2254 3838256/2619697, A1ik 2254 43/50, A1vp 2254 42] PENTODE_PARAM(P):=[Gk 2254 19661054/41857, n1 2254 16353855/10815241, 03bc 2254 3656815/451258, k2 2254 31240258/25307, P 2254 19464645/131072, a 2254 22069955/33871, b 2254 48084375/64208, n2 2254 4220661/1565953, D1ip 2254 251/500] RESET(vg1, vg2, vp):=[B2vp 2254, B2vg1 2254, Cik 2254, Cvp 2254, Cvg1 2254, Dvg2 2254, D1ip 2254, D2ip 2254, D2vp 2254, D3ip 2254, D3vp 2254, D4ip 2254, D4vp 2254] TRIODE_PARAM(P):=[Gk 2254 1/3367600b723102131, n1 2254 1/23255600b7314421, 03bc 2254 1/30246000b733445753, k2 2254 1/3240100b7107227497, P 2254 1/26214400b798734105] A1ik:=251/500 A1vg1:= A1vp:=300 A2ik:=22/125 A2vg1:= A2vp:=150 B1ik:=1/200 B1vg1:=-10 B1vp:=80 B2ik:=7/200 B2vg1:=-70 B2vp:=520 Cik:=13/200 Cvg1:=-30 Cvp:=300 D1ip:=251/500 D1vp:=221e D2ip:=91/200 D2vp:=300 D3ip:=17/40 D3vp:=80 D4ip:=3/20 D4vp:=20 Dvg2:=300 Gk:=19661054/41857 P:=19464645/131072 Vct:=0 Vd:= Vp:=LN(e7c0^(vg100b7589870/4396781)00b719464645 + 131072)00b711778337/1590976 - 17020489/195109 Vt:=LN(e7c0^(vg100b7(1/221a(vp^200b725307 + 31240258))00b7(43784351/6792))00b719464645 + 131072)00b7vp00b7157981/6401854 - vp00b7559483/1924037 a:=22069955/33871 b:=48084375/64208 hCross:=APPROX(0) k2:=31240258/25307 n1:=16353855/10815241 n2:=4220661/1565953 vCross:=APPROX(14999999999999999/100000000000000000) vg1:= vg2:=300 vp:= 03bc:=3656815/451258 Precision:=Exact PrecisionDigits:=10 Notation:=Rational NotationDigits:=10 Branch:=Principal Exponential:=Auto Logarithm:=Auto Trigonometry:=Auto Trigpower:=Auto Angle:=Radian CaseMode:=Sensitive VariableOrder:=[x,y,z] OutputBase:=Decimal InputBase:=Decimal InputMode:=Word DisplayFormat:=Normal TimesOperator:=Dot DisplaySteps:=false CTextObj {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 3-2-07 UPDATE\par } 0@{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 AN IMPROVED METHOD OF FINDING VACUUM TUBE MODEL PARAMETERS\par } P`{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 By Bill Elliott\par } p{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Copyright 2006, 2007, all rights reserved\par }  {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Individuals may copy this article for their own personal non-commercial use.\par }  {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}{\f1\fmodern\fprq1\fcharset161 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 I first became interested in vacuum tube models because of my need for good triode and pentode models to use with my Spice circuit simulator to simulate an audio power amplifier I was designing. Searching the internet, I discovered the vacuum tube model work of Norman Koren (Ref (1)). I then began to create some model netlist equations based on Koren's phenomenological triode equations using Texas Instrument's Derive 6 math software. At first, I used trial and error methods to find the parameter values by using Derive to plot the plate characteristic curves of triodes and pentodes and then adjusting the parameter values until they matched five chosen points on the plate curves. Despite the tediousness, I managed to create a fair number of netlists for the tube types that were of interest to me.\par \par I have been using Derive since it's early DOS days. I have found it to be reliable, easy to use and above all, it does every thing I need and more. It is also very inexpensive. My Derive 6 copy cost me about 115 dollars. I know all the other math programs are very good, but they are way out of my price range. There is an article on the internet entitled "Derive 6: Far too good for just students." I suggest anyone interested in Derive 6 read it. (See Ref (2) for URL).\par \par Because of the tedious work and resulting inaccuracies, I decided I had to find a better way and wondered if I could use Derive 6 to calculate the values of the parameters.\par \par Examining Koren's triode equations, it would seem that the five unknown parameters can only be found using trial and error methods or some sort of program using iterative techniques.\par \par Upon closer examination of Koren's equations, I saw that there are really two separate sets of parameters. The first set of two, kG1 and X, are independent of the second set and are quite easily found using the zero bias line of the triode plate curves. The second set of three, kp, \f1\'ec\f0 and kVB, are more difficult to find, but can be directly calculated using algebraic and numerical programming techniques.\par \par After a number of attempts, I wrote three very simple Derive 6 programs that directly calculate triode, pentode and diode model equation parameters based on Koren's triode equations.\par \par The triode and pentode programs run in 15 to 60 seconds on my computer, depending on tube type and data point selection. Some tube types and data point selections may run on and on without giving a result. You may even get complex numbers for results. In these cases, check your data entry numbers first. If the numbers are ok, then try moving data points B1, B2 and C to higher current levels. I can not promise that these programs will work on any tube type, but I think they will work on most.\par } {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} \viewkind4\uc1\pard\f0\fs24 THE IMPORTANCE OF KOREN'S TRIODE EQUATIONS\par } {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 For the vacuum tube audio enthusiast, I do not think the importance of Koren's triode equations can be overestimated. If the five data points are properly selected, these equations represent the simplest and most exact way of mathmatically describing the plate characteristics of the triode, and ultimately the pentode.\par }  {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} \viewkind4\uc1\pard\f0\fs24 The most crucial data point is the one I call B1. For low, medium and lower high mu triodes (e.g. 12AT7/12AZ7), It MUST be located on the first negative control grid bias line near cutoff . On very high mu triodes (e.g. 12AX7), it MUST be located on the second negative control grid bias line near cutoff and the "contact potential" Vct must be taken into account.\par } 0PC{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} \viewkind4\uc1\pard\f0\fs24 The selection of the other data points A1, A2, B2 and C are important, but not nearly so much as B1. (For very high mu triodes, A1 and A2 MUST be located on first negative grid bias line).\par } `p{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 KOREN'S TRIODE EQUATIONS:\par } CExpnObj80Userik=ip=Vt^n1/Gk*(1+SIGN(Vt)){\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Where:\par } 80User2Vt=vp/k1*LN(1+EXP(k1*(1/03bc+vg1/SQRT(k2+vp^2))))@P{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} \viewkind4\uc1\pard\f0\fs24\par } `p{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24\par } 0{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 The following is the step by step procedure I used to create the equations used in the triode, pentode and diode Derive 6 programs.\par } {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Because the sign of E1 is not known until after the direct calculation of the coefficients has finished, Koren's equation (1) has been modified as shown in (3) and (5). Equation (4) suppresses unwanted negative triode responses after the program has run, making the direct calculation of the parameters possible.\par } 8 Userik=1/Gk*Vt^n1*((1+SIGN(vp))/2) 0{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Where:\par } 8@XpUser(Vt^n1=SQRT((ABS(Vt/2)+Vt/2)*Vt^(2*n1-1)){\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 And:\par } 8User8Vt=vp/k1*LN(1+EXP(k1*(1/03bc+(vg1+Vct)/SQRT(k2+vp^2)))){\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24\par }  {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 INTRODUCING THE PARAMETER P:\par } 0@{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Let:\par } 8PUserEXP(k1/03bc)=P{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Solving (6) for k1, substituting for k1 in (5) and simplifying:\par } 8User?Vt=vp*(LN(P^((vg1+Vct)*03bc/SQRT(vp^2+k2)+1)+1)/(03bc*LN(P))) {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Substituting for Vt in (3):\par } 80xUserZik=1/Gk*(vp*(LN(P^((vg1+Vct)*03bc/SQRT(vp^2+k2)+1)+1)/(03bc*LN(P))))^n1*((1+SIGN(vp))/2){\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 UPPER ZERO BIAS LINE DATA POINT (A1vg1 + Vct = 0):\par } {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Substituting constants for variables in (8).\par } 8 User dA1ik=1/Gk*(A1vp*(LN(P^((A1vg1+Vct)*03bc/SQRT(A1vp^2+k2)+1)+1)/(03bc*LN(P))))^n1*((1+SIGN(A1vp))/2)0@{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Substituting zero for (A1vg1 + Vct) in (9), simplifying and solving for Gk:\par } 8PUser =Gk=A1vp^n1/A1ik*(LN(P+1)/(03bc*LN(P)))^n1*((1+SIGN(A1vp))/2){\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24\par } {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 LOWER ZERO BIAS LINE DATA POINT (A2vg1 + Vct = 0):\par } {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Assigning a new set of constants for the variables in (8):\par } 8 P User dA2ik=1/Gk*(A2vp*(LN(P^((A2vg1+Vct)*03bc/SQRT(A2vp^2+k2)+1)+1)/(03bc*LN(P))))^n1*((1+SIGN(A2vp))/2)` p {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Substituting zero for (A2vg1 + Vct) in (11), simplifying, substituting for Gk and solving for n1:\par } 8  User sA2ik=A1ik/A1vp^n1*(A2vp*(LN(P^((A2vg1+Vct)*03bc/SQRT(A2vp^2+k2)+1)+1)/LN(P+1)))^n1*((1+SIGN(A2vp))/(1+SIGN(A1vp)))  {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} \viewkind4\uc1\pard\f0\fs24 Solving (12) for n1:\par } 8 H` Simp(Solve(User,n1))Mb? Dn1=LN(A2ik*(SIGN(A1vp)+1)/(A1ik*(SIGN(A2vp)+1)))/(LN(A2vp)-LN(A1vp))p  {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}{\f1\fmodern\fprq1\fcharset161 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 FINDING THE EQUATIONS FOR \f1\'ec\f0 , k2 and P:\par }   {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Substituting for Gk in (8) and simplifying:\par } 8  User\ik=A1ik/A1vp^n1*(vp*(LN(P^((vg1+Vct)*03bc/SQRT(vp^2+k2)+1)+1)/LN(P+1)))^n1*((1+SIGN(vp))/2) 0 {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 LOWER LEFT CORNER DATA POINT EQUATION:\par } @ P {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Substituting constants for the variables in (14):\par } 8`  UserfB1ik=A1ik/A1vp^n1*(B1vp*(LN(P^((B1vg1+Vct)*03bc/SQRT(B1vp^2+k2)+1)+1)/LN(P+1)))^n1*((1+SIGN(B1vp))/2)  {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24\par }   {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 LOWER RIGHT CORNER DATA POINT EQUATION:\par }   {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Substituting a new set of constants for the variables in (14):\par } 80  UserfB2ik=A1ik/A1vp^n1*(B2vp*(LN(P^((B2vg2+Vct)*03bc/SQRT(B2vp^2+k2)+1)+1)/LN(P+1)))^n1*((1+SIGN(B2vp))/2)  {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 CENTRAL DATA POINT EQUATION\par }   {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Substituting another new set of constants for the variables in (14):\par } 8 @ UseraCik=A1ik/A1vp^n1*(Cvp*(LN(P^((Cvg1+Vct)*03bc/SQRT(Cvp^2+k2)+1)+1)/LN(P+1)))^n1*((1+SIGN(Cvp))/2)P ` J{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}{\f1\fmodern\fprq1\fcharset161 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Equations (15), (16) and (17) are used in the triode program to calculate the values of \f1\'ec\f0 , k2 and P.\par } p  {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}{\f1\fmodern\fprq1\fcharset161 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 There are 5 data points to be placed on the triode plate charateristics. A1 and A2 are placed on the zero control grid bias line (Except for very high \f1\'ec\f0 triodes). A1 is placed near the highest plate current of interest. A2 should be placed at about half the plate voltage of A1. B1 is placed on the first negative grid bias line near cutoff (Except for very high \f1\'ec\f0 triodes). B2 is placed on the most negative grid bias line of interest near cutoff. C is placed somewhere in the center of the plate characteristics.\par }   {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24\par }   {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 TRIODE PARAMETER PROGRAM (12AU7 EXAMPLE)\par } 8UserTRIODE_PARAM(P):=PROG([Vct:=,Vt:=,Gk:=,n1:=,03bc:=,k2:=,P:=],[A1ik:=,A1vp:=,A1vg1:=,A2ik:=,A2vp:=,A2vg1:=,B1ik:=,B1vp:=,B1vg1:=],[B2ik:=,B2vp:=,B2vg1:=,Cik:=,Cvp:=,Cvg1:=],Vct:=0,A1ik:=0.036,A1vp:=225,A1vg1:=0,A2ik:=0.016,A2vp:=125,A2vg1:=0,B1ik:=0.0005,B1vp:=40,B1vg1:=-2,B2ik:=0.0005,B2vp:=420,B2vg1:=-30,Cik:=0.0115,Cvp:=250,Cvg1:=-8,n1:=LN(A2ik*(SIGN(A1vp)+1)/(A1ik*(SIGN(A2vp)+1)))/(LN(A2vp)-LN(A1vp)),ASSIGN(03bc,SOLVE(B1ik=A1ik/A1vp^n1*(B1vp*(LN(P^((B1vg1+Vct)*03bc/SQRT(B1vp^2+k2)+1)+1)/LN(P+1)))^n1*((1+SIGN(B1vp))/2),03bc,Real)),03bc:=RHS(03bc),ASSIGN(k2,SOLVE(B2ik=A1ik/A1vp^n1*(B2vp*(LN(P^((B2vg1+Vct)*03bc/SQRT(B2vp^2+k2)+1)+1)/LN(P+1)))^n1*((1+SIGN(B2vp))/2),k2,Real)),k2:=RHS(k2),ASSIGN(P,NSOLVE(Cik=A1ik/A1vp^n1*(Cvp*(LN(P^((Cvg1+Vct)*03bc/SQRT(Cvp^2+k2)+1)+1)/LN(P+1)))^n1*((1+SIGN(Cvp))/2),P,Real)),P:=RHS(P),Gk:=A1vp^n1/A1ik*(LN(P+1)/(03bc*LN(P)))^n1*((1+SIGN(A1vp))/2),Vt:=vp*(LN(P^((vg1+Vct)*03bc/SQRT(vp^2+k2)+1)+1)/(03bc*LN(P))),[Gk:=Gk,n1:=n1,03bc:=03bc,k2:=k2,P:=P]) {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}{\f1\fmodern\fprq1\fcharset161 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Data points A1 and A2 are placed on the first negative grid bias line for very high \f1\'ec\f0 triodes such as the 12AX7. Data point B1 is placed on the second negative grid bias line near cutoff. Data points B2 and C are placed the same as for lower \f1\'ec\f0 triodes.\par } 0@{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 TRIODE PARAMETER PROGRAM (12AX7 EXAMPLE)\par } 8P@UserTRIODE_PARAM(P):=PROG([Vct:=,Vt:=,Gk:=,n1:=,03bc:=,k2:=,P:=],[A1ik:=,A1vp:=,A1vg1:=,A2ik:=,A2vp:=,A2vg1:=,B1ik:=,B1vp:=,B1vg1:=],[B2ik:=,B2vp:=,B2vg1:=,Cik:=,Cvp:=,Cvg1:=],Vct:=0.5,A1ik:=0.00325,A1vp:=200,A1vg1:=-0.5,A2ik:=0.00025,A2vp:=30,A2vg1:=-0.5,B1ik:=0.0001,B1vp:=50,B1vg1:=-1,B2ik:=0.0001,B2vp:=400,B2vg1:=-5,Cik:=0.0012,Cvp:=200,Cvg1:=-1.5,n1:=LN(A2ik*(SIGN(A1vp)+1)/(A1ik*(SIGN(A2vp)+1)))/(LN(A2vp)-LN(A1vp)),ASSIGN(03bc,SOLVE(B1ik=A1ik/A1vp^n1*(B1vp*(LN(P^((B1vg1+Vct)*03bc/SQRT(B1vp^2+k2)+1)+1)/LN(P+1)))^n1*((1+SIGN(B1vp))/2),03bc,Real)),03bc:=RHS(03bc),ASSIGN(k2,SOLVE(B2ik=A1ik/A1vp^n1*(B2vp*(LN(P^((B2vg1+Vct)*03bc/SQRT(B2vp^2+k2)+1)+1)/LN(P+1)))^n1*((1+SIGN(B2vp))/2),k2,Real)),k2:=RHS(k2),ASSIGN(P,NSOLVE(Cik=A1ik/A1vp^n1*(Cvp*(LN(P^((Cvg1+Vct)*03bc/SQRT(Cvp^2+k2)+1)+1)/LN(P+1)))^n1*((1+SIGN(Cvp))/2),P,Real)),P:=RHS(P),Gk:=A1vp^n1/A1ik*(LN(P+1)/(03bc*LN(P)))^n1*((1+SIGN(A1vp))/2),Vt:=vp*(LN(P^((vg1+Vct)*03bc/SQRT(vp^2+k2)+1)+1)/(03bc*LN(P))),[Gk:=Gk,n1:=n1,03bc:=03bc,k2:=k2,P:=P])P]{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs20\par } m}{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 PENTODE EQUATION DEVELOPMENT\par } &{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 The pentode triode connection equations are the same as for the triode except for the substitution of vg2 for vp in (22):\par } {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 PENTODE CONNECTION EQUATION DEVELOPMENT\par } {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 PENTODE CATHODE CURRENT\par } 8 Userik=1/Gk*Vp^n1*((1+SIGN(vp))/2)-={\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Where:\par } 8MX}User(Vp^n1=SQRT((ABS(Vp/2)+Vp/2)*Vp^(2*n1-1)){\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Substituting for Vp^n1 in (20):\par } 8User;ik=1/Gk*SQRT((ABS(Vp/2)+Vp/2)*Vp^(2*n1-1))*((1+SIGN(vp))/2){\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 And:\par }  {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Substituting Vp for Vt, and vg2 for vp in (7):\par } 8-}UserAVp=vg2*(LN(P^((vg1+Vct)*03bc/SQRT(vg2^2+k2)+1)+1)/(03bc*LN(P))){\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 PENTODE PLATE CURRENT\par } {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 The pentode "knee" equation is shown in (24):\par } 8Userip=(a+vp)/((vg2/vp)^n2+b+vp)*ik-={\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Substituting for ik in (24):\par } 8MUser:ip=(a+vp)/((vg2/vp)^n2+b+vp)*(1/Gk)*Vp^n1*((1+SIGN(vp))/2){\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Substituting for Vp and Gk in (25) and simplifying:\par } 8P=Userzip=(a+vp)/((vg2/vp)^n2+b+vp)*(A1ik/A1vp^n1)*(vg2*(LN(P^((vg1+Vct)*03bc/SQRT(vg2^2+k2)+1)+1)/LN(P+1)))^n1*((1+SIGN(vp))/2)M]{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 FINDING THE EQUATIONS FOR D1ip, a, b and n2:\par } m}{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 D1 DATA POINT EQUATION (D1vp \u8594? \u8734? and (D1vg1 + Vct) = 0):\par } {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Substituting constants for the variables in (26):\par } 8UserD1ip=(a+D1vp)/((Dvg2/D1vp)^n2+b+D1vp)*(A1ik/A1vp^n1)*(Dvg2*(LN(P^((D1vg1+Vct)*03bc/SQRT(Dvg2^2+k2)+1)+1)/LN(P+1)))^n1*((1+SIGN(D1vp))/2)-={\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Letting D1vp approach infinity and substituting for D1vg1, simplifying and solving (27) for D1ip:\par } 8MpUser,D1ip=A1ik/A1vp^n1*Dvg2^n1*((1+SIGN(D1vp))/2){\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 D2 DATA POINT EQUATION (D2vp = Dvg2 and (D2vg1 + Vct) = 0):\par } {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Substituting a new set of constants for the variables in (26):\par } 8MUserD2ip=(a+D2vp)/((Dvg2/D2vp)^n2+b+D2vp)*(A1ik/A1vp^n1)*(Dvg2*(LN(P^((D2vg1+Vct)*03bc/SQRT(Dvg2^2+k2)+1)+1)/LN(P+1)))^n1*((1+SIGN(D2vp))/2)]m{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Substituting for D2vp in (29) and substituting for zero and simplifying:\par } 8}UserBD2ip=(a+Dvg2)/(1+b+Dvg2)*(A1ik/A1vp^n1)*Dvg2^n1*((1+SIGN(D2vp))/2){\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 D3 DATA POINT EQUATION (knee; (D3vg1 + Vct) = 0)\par } {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Substituting a another new set of constants for the variables in (26):\par } 8 }UserD3ip=(a+D3vp)/((Dvg2/D3vp)^n2+b+D3vp)*(A1ik/A1vp^n1)*(Dvg2*(LN(P^((D3vg1+Vct)*03bc/SQRT(Dvg2^2+k2)+1)+1)/LN(P+1)))^n1*((1+SIGN(D3vp))/2){\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Substituting for D3vp and substituting for zero in (31) and simplifying:\par } 80User OD3ip=(a+D3vp)/((Dvg2/D3vp)^n2+b+D3vp)*(A1ik/A1vp^n1)*Dvg2^n1*((1+SIGN(D3vp))/2) {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 D4 DATA POINT EQUATION (below knee; (D4vg1 + Vct) = 0)\par } -={\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Again, substituting a new set of constants for the variables in (26):\par } 8MUser!D4ip=(a+D4vp)/((Dvg2/D4vp)^n2+b+D4vp)*(A1ik/A1vp^n1)*(Dvg2*(LN(P^((D4vg1+Vct)*03bc/SQRT(Dvg2^2+k2)+1)+1)/LN(P+1)))^n1*((1+SIGN(D4vp))/2){\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Substituting zero for D4vg1 in (33) and simplifying:\par } 80=User"OD4ip=(a+D4vp)/((Dvg2/D4vp)^n1+b+D4vp)*(A1ik/A1vp^n1)*Dvg2^n1*((1+SIGN(D4vp))/2)M]{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Equations (28), (30), (32) and (34) are used in the pentode program to calculate the values of D1ip, a, b and n2.\par } mn{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}{\f1\fmodern\fprq1\fcharset161 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Data points A1, A2, B1, B2 and C are placed on the pentode triode connection plate characteristics in the same manner as for lower \f1\'ec\f0 triodes. Data points D2, D3 and D4 are placed on the pentode connection zero bias line. D2 is placed at the plate voltage that is equal to the chosen screen grid voltage. D3 is placed on the "knee" of the curve and D4 is placed at about half the knee current.\par } {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 PENTODE PARAMETER PROGRAM (6550 EXAMPLE):\par } 8hUser#%PENTODE_PARAM(P):=PROG([Vct:=,Vt:=,Vp:=,Gk:=,n1:=,03bc:=,k2:=,a:=,b:=,n2:=,P:=],[A1ik:=,A1vp:=,A1vg1:=,A2ik:=,A2vp:=,A2vg1:=,B1ik:=,B1vp:=,B1vg1:=],[B2ik:=,B2vp:=,B2vg1:=,Cik:=,Cvp:=,Cvg1:=,Dvg2:=,D1ip:=,D2ip:=,D3ip:=,D3vp:=,D4ip:=,D4vp:=],Vct:=0,A1ik:=0.502,A1vp:=300,A2ik:=0.176,A2vp:=150,B1ik:=0.005,B1vp:=80,B1vg1:=-10,B2ik:=0.035,B2vp:=520,B2vg1:=-70,Cik:=0.065,Cvp:=300,Cvg1:=-30,Dvg2:=300,D1vp:=inf,D2ip:=0.455,D2vp:=300,D3ip:=0.425,D3vp:=80,D4ip:=0.15,D4vp:=20,n1:=LN(A2ik*(SIGN(A1vp)+1)/(A1ik*(SIGN(A2vp)+1)))/(LN(A2vp)-LN(A1vp)),ASSIGN(03bc,SOLVE(B1ik=A1ik/A1vp^n1*(B1vp*(LN(P^(B1vg1*03bc/SQRT(B1vp^2+k2)+1)+1)/LN(P+1)))^n1*((1+SIGN(B1vp))/2),03bc,Real)),03bc:=RHS(03bc),ASSIGN(k2,SOLVE(B2ik=A1ik/A1vp^n1*(B2vp*(LN(P^(B2vg1*03bc/SQRT(B2vp^2+k2)+1)+1)/LN(P+1)))^n1*((1+SIGN(B2vp))/2),k2,Real)),k2:=RHS(k2),ASSIGN(P,NSOLVE(Cik=A1ik/A1vp^n1*(Cvp*(LN(P^(Cvg1*03bc/SQRT(Cvp^2+k2)+1)+1)/LN(P+1)))^n1*((1+SIGN(Cvp))/2),P,Real)),P:=RHS(P),Gk:=A1vp^n1/A1ik*(LN(P+1)/(03bc*LN(P)))^n1*((1+SIGN(A1vp))/2),ASSIGN(a,SOLVE(D2ip=(a+Dvg2)/(1+b+Dvg2)*(A1ik/A1vp^n1)*Dvg2^n1*(1+SIGN(D2vp))/2,a,Real)),a:=RHS(a),ASSIGN(b,SOLVE(D3ip=(a+D3vp)/((Dvg2/D3vp)^n2+b+D3vp)*(A1ik/A1vp^n1)*Dvg2^n1*(1+SIGN(D3vp))/2,b,Real)),b:=RHS(b),ASSIGN(n2,NSOLVE(D4ip=(a+D4vp)/((Dvg2/D4vp)^n2+b+D4vp)*(A1ik/A1vp^n1)*Dvg2^n1*(1+SIGN(D4vp))/2,n2,Real)),n2:=RHS(n2),Vt:=vp*(LN(P^(vg1*03bc/SQRT(vp^2+k2)+1)+1)/(03bc*LN(P))),Vp:=vg2*(LN(P^(vg1*03bc/SQRT(vg2^2+k2)+1)+1)/(03bc*LN(P))),D1ip:=A1ik/A1vp^n1*Dvg2^n1*(1+SIGN(D1vp))/2,[Gk:=Gk,n1:=n1,03bc:=03bc,k2:=k2,P:=P,a:=a,b:=b,n2:=n2,D1ip:=D1ip]){\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 TRIODE EQUATIONS\par } 8User$;ik=1/Gk*SQRT((ABS(Vt/2)+Vt/2)*Vt^(2*n1-1))*((1+SIGN(vp))/2) {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Where:\par } 8-}User%?Vt=vp*(LN(P^((vg1+Vct)*03bc/SQRT(vp^2+k2)+1)+1)/(03bc*LN(P))){\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 PENTODE TRIODE CONNECTION EQUATIONS\par } 8User&;ik=1/Gk*SQRT((ABS(Vt/2)+Vt/2)*Vt^(2*n1-1))*((1+SIGN(vp))/2){\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Where:\par } 8 ] User'?Vt=vp*(LN(P^((vg1+Vct)*03bc/SQRT(vp^2+k2)+1)+1)/(03bc*LN(P)))m } {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 PENTODE CONNECTION EQUATIONS\par }   H{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 The signum function has been placed in the plate and screen current equations to suppress unwanted negative current responses when and if vp goes negative.\par }   {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 PLATE CURRENT\par } 8 -!User(Wip=(a+vp)/((vg2/vp)^n2+b+vp)*(1/Gk)*SQRT((ABS(Vp/2)+Vp/2)*Vp^(2*n1-1))*((1+SIGN(vp))/2)=!M!{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 SCREEN GRID CURRENT\par } ]!m!1{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 I have assumed that ik is constant as vp varies. This is only approximately true, but for the purpose of estimating ig2, it will do.\par } 8}!!User) ig2=ik-ip!!{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Substituting for ip in (40) and factoring out ik:\par } 8!@ "User*"ig2=1-(a+vp)/((vg2/vp)^n2+b+vp)*ik"-"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Substituting for ik in (41), and then substituting for Vp^n1:\par } 8=""User+\ig2=(1-(a+vp)/((vg2/vp)^n2+b+vp))*(1/Gk)*SQRT((ABS(Vp/2)+Vp/2)*Vp^(2*n1-1))*((1+SIGN(vp))/2)""{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Where:\par } 8" #User,AVp=vg2*(LN(P^((vg1+Vct)*03bc/SQRT(vg2^2+k2)+1)+1)/(03bc*LN(P))) 8#-#User-vg2:=300=#]#3{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} \viewkind4\uc1\pard\f0\fs24 Note: To display the pentode connection plate characteristics in a Derive 6 2D window, the value you are using for vg2 must be entered in (44). Otherwise, leave (44) blank.\par } m#}#{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 DIODE PROGRAM\par } ##`{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 For the diode program, data point A1 is placed at the highest current of interest on the diode plate characteristic. Data point A2 is placed at about half the plate voltage of A1.\par } ##{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 DIODE PARAMETER PROGRAM (5AR4 EXAMPLE):\par } 8#}$User.DIODE_PARAM(vp):=PROG([Vd:=,A1ik:=,A1vp:=,A2ik:=,A2vp:=,n1:=],A1ik:=0.86,A1vp:=42,A2ik:=0.29,A2vp:=20,n1:=LN(A2ik/A1ik)/(LN(A2vp)-LN(A1vp)),Vd:=vp,[n1:=n1,A1ik:=A1ik,A1vp:=A1vp])$${\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 DIODE EQUATIONS:\par } 8$@$User/&ik=A1ik/A1vp^n1*Vd^n1*((1+SIGN(vp))/2)$ %{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Where:\par } 8%XM%User0(Vd^n1=SQRT((ABS(Vd/2)+Vd/2)*Vd^(2*n1-1))]%m%{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Substituting for Vd^n1 in (46):\par } 8}%%User1Cik=A1ik/A1vp^n1*SQRT((ABS(Vd/2)+Vd/2)*Vd^(2*n1-1))*((1+SIGN(vp))/2)%%{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 And:\par } 8%p%User2Vd=vp &&{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24\par } -&=&{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 RESET PROGRAM\par } M&]&{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 The reset program is used to clear all variables before making changes to the equations or programs.\par } 8m&&User3RESET(vg1,vg2,vp):=PROG([Vct:=,Vt:=,Vp:=,Vd:=,Gk:=,n1:=,03bc:=,k2:=,a:=,b:=,n2:=],[P:=,A1ik:=,A1vp:=,A1vg1:=,A2ik:=,A2vp:=,A2vg1:=,B1ik:=,B1vp:=,B1vg1:=,B2ik:=],[B2vp:=,B2vg1:=,Cik:=,Cvp:=,Cvg1:=,Dvg2:=,D1ip:=,D2ip:=,D2vp:=,D3ip:=,D3vp:=,D4ip:=,D4vp:=])&-'{{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Ref (1) http://www.normankoren.com/Audio/Tubemodspice_article.html\par \par Ref (2) http://www.scientific-computing.com/scwmarapr04derive6.html\par \par Ref (3) http://www.knology.net/~billelliott\par \par } ='M'{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Derive Unicode;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs24 Bill Elliott email: williamy@knology.net\par } 4