class
SushiDSP::TriodeStage
A common-cathode triode gain stage: the grid node solved by Newton-Raphson against a Norman grid-conduction law referenced to the cathode, an inverting linear plate gain, and a two-sided tanh plate ceiling from the stage's PlateSwing, the composite transfer antialiased by an AntiderivativeAntialiaser.
- Declared in
include/SushiDSP/circuits/stages/TriodeStage.hpp
Specified by docs/archive/superpowers/specs/2026-09-07-triode-plate-swing-design.md section 3 and docs/archive/superpowers/specs/2026-09-07-grid-knee-antialiasing-design.md sections 3 and 15.
Public member functions
TriodeStage(float source_resistance_ohms, float grid_leak_resistance_ohms, float cathode_bias_volts, float gain, const GridConductionLaw &grid_conduction, const PlateSwing &plate_swing)Builds a stage whose plate is bounded by its swing and whose grid conducts on the given law, referenced to the cathode.
Parameters
source_resistance_ohmsEffective source resistance feeding the grid.
grid_leak_resistance_ohmsThe grid-leak resistor to the cathode-bias voltage.
cathode_bias_voltsThe stage's DC operating point, Vgk at rest.
gainThe common-cathode stage's inverting linear gain from grid to plate.
Precondition
cathode_bias_volts < 0, so the grid rests below the cathode.
Precondition
gain > 0, and both plate_swing headrooms > 0.
float process_sample(float input_voltage)Processes one sample through the stage.
Parameters
input_voltageThe stage's input signal voltage for this sample, referenced to the stage's own bias point; a zero input leaves the grid at the cathode-bias voltage.
Returns
The inverted plate output voltage, bounded by the plate swing and antialiased over the interval from the previous sample. Always finite.
float peak_grid_excursion_volts() constReturns the largest |Vg - Vk| the grid has reached since the last reset().
void reset()Resets the Newton-Raphson warm start to the bias point, clears the peak and drops the antialiaser's previous sample.

