SPICE Simulation
Understanding and using Koren tube models for circuit simulation. Explore parameters interactively, generate SPICE netlists, and learn the simulation workflow from operating point to transient analysis.
Why Simulate?
Design before you solder
Verify Operating Points
Confirm bias voltages and currents before building. Catch mistakes that could damage expensive tubes.
Predict Performance
Frequency response, gain, output impedance, and distortion characteristics — all visible before the first prototype.
Explore Variations
Compare tube types, resistor values, and topologies rapidly. Optimize on screen, not on the bench.
The Koren Model
Norman Koren’s triode model captures plate current behavior with six parameters
Amplification factor. Controls overall gain. Higher values mean more amplification for a given grid voltage change.
Exponent controlling the shape of the Ia/E1 transfer curve. Typically 1.2–1.6 for triodes. Affects curvature and distortion character.
Scaling constant for plate current magnitude. Larger values reduce overall current. Sets the "size" of the tube.
Affects plate voltage influence on grid cutoff. Controls how plate curves fan out at low plate voltages.
Knee voltage parameter. Controls the sharpness of the knee region where curves bend at low plate voltages.
Contact potential offset. Small voltage correction for grid-cathode contact potential, typically near zero.
Parameter Explorer
Adjust each Koren parameter and watch how plate curves change in real-time. Orange curves show your modifications, faint curves show the original.
LTspice Setup
How to use Koren models in LTspice for circuit simulation
1. Create the .subckt file
Save the subcircuit definition below as a .sub file in your LTspice library folder. Pin order is Anode, Grid, Cathode.
.SUBCKT 12AX7_Koren A G K
* Koren triode model for 12AX7
* mu=100.26 Ex=1.394 Kg1=1651.8 Kp=1000 Kvb=524 Vct=0.5
.PARAM mu=100.26
.PARAM Ex=1.394
.PARAM Kg1=1651.8
.PARAM Kp=1000
.PARAM Kvb=524
.PARAM Vct=0.5
E1 1 0 VALUE={V(A,K)/Kp*LOG(1+EXP(Kp*(1/mu+(V(G,K)+Vct)/SQRT(Kvb+V(A,K)*V(A,K)))))}
Ga A K VALUE={MAX(PWR(V(1),Ex)/Kg1,0)}
Cgk G K 1.6p
Cgp G A 1.6p
Cpk A K 0.5p
.ENDS 12AX7_Koren2. Add the symbol
In LTspice, create a new symbol with three pins (A, G, K) or use an existing triode symbol. Set the Prefix attribute to X and the SpiceModel to the subcircuit name. Add a .lib directive pointing to your .sub file.
3. Model limitations
The Koren model uses a behavioral voltage source (E1) and current source (Ga) to implement the plate current equation. Inter-electrode capacitances are included as fixed values. Grid current is not modeled, so simulation is only valid for negative grid voltages.
Model vs Reality
Where Koren models shine and where they fall short
Accurate regions
- Normal operating range (negative grid, moderate plate voltages)
- Plate characteristic curves match datasheet well
- Transconductance and amplification factor
- Small-signal AC behavior at typical operating points
- Harmonic distortion character (even-order dominant for triodes)
Known divergences
- Grid current region (Vg > 0) is not modeled at all
- Miller capacitance is fixed, not voltage-dependent as in real tubes
- Temperature effects and warm-up behavior absent
- No aging or emission degradation modeling
- Screen grid interaction (for triode-connected pentodes)
Simulation Workflow
From tube selection to transient analysis
Choose tube, get Koren params
Select from the database above. Each tube has fitted parameters for the Koren model.
Set up schematic in SPICE
Create the circuit topology. Use the subcircuit model and add supply, bias, and load components.
DC operating point (.op)
Run .op analysis to verify bias conditions. Check plate voltage, current, and power dissipation.
AC small-signal analysis (.ac)
Sweep frequency to see gain, bandwidth, and phase response. Verify input/output impedances.
Transient analysis (.tran)
Apply a test signal and observe the output waveform. Measure distortion with FFT analysis.
SPICE Netlist Generator
Generate complete testbench netlists for common tube circuits
* 12AX7 common cathode amplifier
* Generated by Luminance SPICE Tool
.SUBCKT 12AX7_Koren A G K
* Koren triode model for 12AX7
* mu=100.26 Ex=1.394 Kg1=1651.8 Kp=1000 Kvb=524 Vct=0.5
.PARAM mu=100.26
.PARAM Ex=1.394
.PARAM Kg1=1651.8
.PARAM Kp=1000
.PARAM Kvb=524
.PARAM Vct=0.5
E1 1 0 VALUE={V(A,K)/Kp*LOG(1+EXP(Kp*(1/mu+(V(G,K)+Vct)/SQRT(Kvb+V(A,K)*V(A,K)))))}
Ga A K VALUE={MAX(PWR(V(1),Ex)/Kg1,0)}
Cgk G K 1.6p
Cgp G A 1.6p
Cpk A K 0.5p
.ENDS 12AX7_Koren
* Power supply
Vb B+ 0 300
* Input signal
Vin IN 0 AC 1 SIN(0 1 1k)
* Coupling capacitor
Cin IN G 100n
* Grid bias (adjust for operating point)
Rg G 0 1Meg
Vbias G_bias 0 -2
Rbias G_bias G 100k
* Tube
X1 A G K 12AX7_Koren
* Plate resistor
Rp B+ A 100k
* Cathode resistor + bypass
Rk K 0 1.5k
Ck K 0 100u
* Output coupling
Cout A OUT 100n
Rload OUT 0 1Meg
.tran 0 5m 0 1u
.ac dec 100 10 100k
.op
.endKey Parameters
Quick reference for Koren model parameters and typical ranges
| Parameter | Symbol | Typical Range | Effect |
|---|---|---|---|
| μ | mu | 10–100 | Amplification factor, sets voltage gain |
| Ex | Ex | 1.2–1.6 | Transfer curve exponent, affects distortion shape |
| Kg1 | Kg1 | 500–5000 | Current scaling, higher = less current |
| Kp | Kp | 50–600 | Plate influence on cutoff, controls curve fanning |
| Kvb | Kvb | 10–500 | Knee voltage, controls low-Vp curve shape |
| Vct | Vct | -2–+2 V | Contact potential offset, usually small |
Test Your Knowledge
Validate your understanding of SPICE simulation and Koren tube models before moving on.
What is the main purpose of SPICE simulation for tube circuits?