Triode Curve Fitting Tutorial

Step-by-step guide to digitizing and modeling vacuum tube characteristics

Overview

This tutorial will guide you through the complete process of creating a SPICE model for a vacuum tube triode from published characteristic curves. The workflow consists of two main phases:

  1. Digitization - Extract numerical data points from a graph image using the Characteristic Curve Digitizer
  2. Curve Fitting - Fit the digitized data to a mathematical model using the Triode Curve Fitter

The end result is a set of model parameters that can be used in SPICE circuit simulation.

Phase 1: Digitizing the Curves

First, you'll use the Characteristic Curve Digitizer to extract data points from a published triode characteristic curve image.

1

Obtain a Source Image

Find a triode plate characteristics graph showing Ia vs Vak curves at various Vgk values. Good sources include:

  • Manufacturer datasheets
  • Tube data books (e.g., RCA, GE, Mullard)
  • Online tube databases (e.g., Bartola Valves, Frank's Electron Tube Pages)

Save the graph as a PNG or JPG image file.

2

Load the Image

Open the Characteristic Curve Digitizer and click "Choose File" to load your image. Enter a project name (e.g., "300B" or "12AX7").

3

Calibrate the Axes

You need to define three calibration points to establish the coordinate system:

  • Origin - Click "Set Origin" then click on the (0,0) point of the graph
  • X-Axis Point - Click "Set X-Axis" then click on a known point along the X-axis (e.g., Vak = 400V)
  • Y-Axis Point - Click "Set Y-Axis" then click on a known point along the Y-axis (e.g., Ia = 200mA)

Enter the actual values for the X and Y calibration points in the input fields.

4

Create Data Series

Each curve at a different Vgk value becomes a separate series. Click "Add Series" and enter the grid voltage (Vgk) for that curve. For triodes, Vgk is typically 0, -10, -20, -30V, etc.

5

Digitize Points

With a series selected, click along the curve to add data points. Work from left to right along each curve, clicking to capture points at regular intervals or at key features.

  • Click on the curve to add a point
  • Press Z to undo the last point
  • Use scroll wheel or buttons to zoom in for precision
  • Drag to pan when zoomed in
Important: Capture enough points to accurately represent the curve shape, especially in regions of high curvature. Typically 10-20 points per curve is sufficient.
6

Repeat for All Curves

Add a new series for each Vgk curve and digitize the points. The more curves you include, the better the model fit will be.

7

Export the Data

Click "Download CSV" to save your digitized data. The file will be named based on your project name (e.g., "300B.csv").

CSV File Format

The exported CSV file has this format:

Series 1: 0, 0,0.000479 16.7,0.002395 28.2,0.009579 ... Series 2: -20, 1.29,0.000479 38.6,0.000479 ...

Each series header contains "Series N: Vgk" where Vgk is the grid voltage, followed by rows of "Vak,Ia" data pairs.

Phase 2: Fitting the Model

Now use the Triode Curve Fitter to find the optimal model parameters.

1

Load the CSV Data

Click "Choose File" and select the CSV file you exported from the Characteristic Curve Digitizer. The data summary will show how many curves and points were loaded.

2

Select a Model

Choose between two triode models:

Model Equation Best For
Child-Langmuir Ia = K(Vgk + DaVak)1.5 Simple approximation, 2 parameters
Koren Complex multi-parameter model High accuracy, better for simulation
3

Set Initial Parameters

The default initial values work well for most tubes, but you can adjust them if you have prior knowledge of the tube's characteristics.

For the Koren model, set the amplification factor (μ) based on the tube's datasheet value if known.

4

Run the Curve Fit

Click "Run Curve Fit" to start the Nelder-Mead optimization. The progress bar shows the fitting progress, and the plot updates to show the fitted curves.

5

Evaluate the Results

Check the results panel for:

  • RMSE - Root Mean Square Error (lower is better)
  • Visual fit - Compare the fitted curves (colored lines) to the measured data (black crosses)

If the fit is poor, try adjusting initial parameters or switching models.

6

Export the SPICE Model

The SPICE Model Output panel shows a ready-to-use subcircuit definition. Click "Copy to Clipboard" or "Download .txt" to save the model for use in your SPICE simulator.

Understanding the Models

Child-Langmuir Model

Ia = K × (Vgk + Da × Vak)1.5
Parameter Description Typical Range
K Perveance constant 1e-7 to 1e-5
Da Inverse amplification factor (1/μ) 0.01 to 0.5

Koren Model

The Koren model provides a more accurate representation, especially in the saturation region:

Parameter Description Typical Range
μ (mu) Amplification factor 2 to 100
X Exponent (usually ~1.5) 1.0 to 2.0
kG1 Grid coefficient 100 to 3000
kP Plate coefficient 10 to 1000
kVB Knee voltage parameter 1 to 500

Tips for Best Results

Example Workflow: JJ 300B

  1. Capture an image of the 300B plate characteristics from the JJ Electronic website
  2. Load into Characteristic Curve Digitizer and calibrate (0-700V on X, 0-320mA on Y)
  3. Create series for Vgk = 0, -20, -40, -60, -80, -100, -120, -140V
  4. Digitize 12-15 points per curve
  5. Export as "300B.csv"
  6. Load into Triode Curve Fitter
  7. Select Koren model, set μ = 3.8 (from datasheet)
  8. Run fit and verify good visual match
  9. Download SPICE model for use in LTspice or ngspice