Contents

struct

SushiDSP::PlateSwing

How far a stage's plate can swing from its idle point before it saturates, and the two-sided tanh ceiling that bounds a linear plate output by it (docs/archive/superpowers/specs/2026-09-07-triode-plate-swing-design.md section 3).

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

Public attributes

float headroom_to_supply_volts

The swing toward the supply, the cutoff side: idle plate current times the load.

float headroom_to_bottom_volts

The swing toward the plate bottom, the conduction side: the plate's travel from idle to Vgk = 0 on the load line.

Public member functions

float bound(float linear_plate_volts) const

Bounds an inverting linear plate output by the two headrooms.

Parameters

linear_plate_volts

The unbounded plate output, positive toward the supply.

Returns

The plate output inside (-headroom_to_bottom, +headroom_to_supply). Always finite.

double bound(double linear_plate_volts) const

Bounds an inverting linear plate output by the two headrooms, in double.

Parameters

linear_plate_volts

The unbounded plate output, positive toward the supply.

Returns

The same value bound(float) returns, evaluated in double. Always finite.

double bound_antiderivative(double linear_plate_volts) const

Integrates bound() from zero to the given linear plate output.

Parameters

linear_plate_volts

The upper limit of the integral, positive toward the supply.

Returns

H * H * ln cosh(linear_plate_volts / H) with H the side's headroom; even in its argument, zero at zero, and its derivative is bound(). Always finite.