Class in Zendir.Classes | Inherits from PowerNodeModel

Declaration

class TransmitterPowerModel;

Description

The Transmitter Power Model creates a coupling between a Transmitter component and the Power Bus electrical network. This model enables realistic power consumption simulation during data transmission, where the transmitter draws additional power from the spacecraft power system when actively transmitting. The model also enforces power availability constraints, preventing transmission when insufficient voltage is available.

A real RF transmitter with its power amplifier (PA) and power supply unit (PSU) behaves as a Constant Power Load (CPL): the switched-mode PSU adjusts its effective input impedance so the transmitter draws approximately constant power regardless of input voltage (R_effective = V² / P, a negative incremental resistance). SPICE solves linear resistors, so this model uses a quasi-static iteration: each tick the resistance is recomputed from the previous tick’s solved voltage so the linear SPICE resistor converges on the true CPL operating point across successive time-steps.

Sequence per tick in the bus-connected path:

  1. PowerBus.UpdateComponents calls UpdatePowerModelState → this model’s UpdatePowerModel. On entry VoltageNode / VoltageIn / CurrentIn hold the PREVIOUS tick’s SPICE solution (zero on the very first tick).
  2. UpdateTransmitterModel caches VoltageNode into LastSolvedVoltage and computes R = LastSolvedVoltage² / P_dc (seeded from NominalOperationalVoltage on the first tick). SPICE uses this R for the current tick’s solve.
  3. PowerBus.ExportData writes the new VoltageIn/VoltageOut/CurrentIn/ CurrentOut/VoltageNode onto this node.
  4. OnUpdate fires UpdateTransmitterModel again; the now-fresh VoltageNode and absorbed branch power are compared to thresholds to decide whether transmission is enabled (NetPower can mis-report with ZeroGroundPlane).

In SelfSolve mode (no PowerBus), VoltageNode is a simple mock (CurrentIn × Resistance) rather than a real solve, so the quasi-static feedback and the CPL voltage/power thresholds are intentionally disabled: the model falls back to a basic “power is flowing” check.


Properties

DeclaredDescription
LastSolvedVoltageThe last SPICE-solved acrossthis transmitter. This is fed back into the next tick’s resistancecalculation so the model converges toward true constant-power behavior(R = V_solved² / P_dc) despite the underlying SPICE resistor being linear.Zero means no valid solve has been captured yet and the next resistancecalculation will seed from .
MinOperationalVoltageRatioMinimum fraction of required onthe node for the transmitter to remain powered. If the SPICE-solvedfalls below this fraction, thepower model disables transmission (CanTransmit = false).
MinPowerRatioMinimum fraction of the expected DC power draw that must appear as absorbedelectrical power in the SPICE branch:
NominalOperationalVoltageThe nominal DC voltage at this transmitter node for CPL seeding and brownout thresholds.12 V matches a typical CubeSat primary bus; many flight S-band modules also acceptwider EPS ranges—set to your bus voltage if different.
PowerThe Power Consumption of the Transmitter based on its current state.When connected to a PowerBus (not SelfSolve), returns CurrentIn * VoltageNode.Otherwise returns the calculated DC power draw.
RFOutputPowerPerBandThe RF output power radiated per frequency band [W].This is the actual RF power transmitted, not the DC input power.Default ~2 W RF per band is a conservative CubeSat / nanosat downlink class;raise for high-rate missions (hardware datasheets often quote DC power vs RF output).
StandbyPowerThe power consumption when the transmitter is in standby/receive mode(not actively transmitting). Default ~2.5 W is in line with low–mid powerCubeSat S-band downlink modules (often a few watts DC in idle/low-rate modes).
TransmitEfficiencyThe DC-to-RF efficiency of the power amplifier [0..1].Typical values: 0.2-0.4 for SSPAs, 0.4-0.7 for TWTAs.The actual DC power draw when transmitting is RFOutputPowerPerBand / TransmitEfficiency.
InheritedDescription
CurrentInThe current flowing into this node at the In terminal.Under flow-through convention, positive means current enters at In and exits at Out.Equal to CurrentOut in steady state for two-terminal elements.
CurrentOutThe current flowing out of this node at the Out terminal.Under flow-through convention, positive means current exits at Out (entered at In).Equal to CurrentIn in steady state for two-terminal elements.
IsEnabledIs true if the object is currently enabled.
IsOpenCircuitA flag if the power node is currently open and no power willbe transferred to the next component.
NameThe display name or tag of this object.
NetPowerNet power this node contributes to the bus, calculated directly from thevoltages and currents at the In and Out terminals:NetPower = VoltageOut * CurrentOut - VoltageIn * CurrentInThis is the power delivered to the external circuit by this node (the negativeof the power absorbed by it). Under the flow-through convention, positiveCurrentIn represents current entering at the In terminal and positiveCurrentOut represents current exiting at the Out terminal.A positive NetPower means the node is adding power to the bus (e.g. a solarpanel producing power, a discharging battery). A negative NetPower means thenode is consuming power from the bus (e.g. a power sink, a charging battery,resistive losses in a fuse/switch/component).For a two-terminal element CurrentIn == CurrentOut, so this reduces to(VoltageOut - VoltageIn) * I. When one terminal is connected to ground andthe bus has ZeroGroundPlane enabled, that terminal’s voltage and current areboth zero, so the formula still represents the true energy exchange at thenon-grounded terminal (e.g. V_out * I_out for a ground-referenced source orbattery, -V_in * I_in for a ground-referenced load).
Out_PowerNodeMsgThe power node message that stores all the properties ofthe node.
ParentThe currently attached parent object.
ResistanceThe Resistance of the node.
SelfSolveA Flag to determine if the Power Node Model should update Output parameters itself if not connected to a PowerBus
VoltageInThe voltage at the In (negative) terminal of this node.For a load connected between a source and ground, this is the higher potential side.
VoltageNodeThe voltage drop across the node: VoltageIn - VoltageOut.Positive for a load (current flows from higher to lower potential).Negative for a source (Out terminal at higher potential than In).
VoltageOutThe voltage at the Out (positive) terminal of this node.For a load connected between a source and ground, this is the lower potential side.

Methods

InheritedDescription
ClearClear the Power Node Model if the circuit is open
FindParentWithIDReturns an attached parent that satisfies the specified ID.
FindParentWithTypeReturns an attached parent that satisfies the specified type.
FindRootWithIDReturns a root object that satisfies the specified ID.
FindRootWithTypeReturns a root object that satisfies the specified type.