Contents

class

SushiDSP::PentodeStage

One push-pull half of a power stage: the grid node solved by Newton-Raphson against a Norman grid-conduction law referenced to the cathode, an inverting gain from grid to plate, and a two-sided tanh plate ceiling from the tube's PlateSwing, all in real volts, the composite transfer antialiased by an AntiderivativeAntialiaser.

Declared in
include/SushiDSP/circuits/stages/PentodeStage.hpp

Specified by docs/archive/superpowers/specs/2026-09-07-grid-knee-antialiasing-design.md sections 5 and 15.

Public member functions

PentodeStage(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_ohms

Effective source resistance feeding the grid.

grid_leak_resistance_ohms

The grid-leak resistor to the bias supply.

cathode_bias_volts

The grid's DC voltage against the cathode at rest.

gain

The inverting small-signal 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.

explicit PentodeStage(const PowerTubePreset &preset)

Builds the stage from a named preset; identical to the six-argument constructor.

float process_sample(float input_voltage)

Processes one sample through the stage.

Parameters

input_voltage

The grid signal in volts, referenced to the 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.

void reset()

Resets the Newton-Raphson warm start to the bias point and drops the antialiaser's previous sample.