---
app_version: 0.1.0
precision: 2
form_title: PA Efficiency & Duty Cycle Heating
form_description: Same peak power, very different heat — compare SSB, CW and a 100%-duty digital mode on the same amplifier. Enter peak output, DC input and each mode's duty cycle.
form_inputs: DC input power (W)|p_dc_w, Peak RF output (W)|p_peak_w, SSB duty cycle (%)|duty_ssb, CW duty cycle (%)|duty_cw, FT8/digital duty cycle (%)|duty_digital
form_outputs: Efficiency (%)|efficiency_pct, Dissipated heat at 100% duty (W)|p_diss_w, Average heat — SSB (W)|heat_ssb_w, Average heat — CW (W)|heat_cw_w, Average heat — digital (W)|heat_digital_w
---
# PA Efficiency & Duty Cycle Heating
// "The rig is rated for 100 W — why does it get so much hotter running FT8
// than SSB at the same power setting?"
//
// Efficiency tells you what fraction of the DC power becomes RF instead of
// heat. Duty cycle tells you how much of the TIME you're actually
// transmitting at that peak level — and heat builds up from the AVERAGE,
// not the peak.

# Efficiency
p_dc_w = 250                // W, DC input power at full drive
p_peak_w = 100               // W, peak RF output power

efficiency_pct = p_peak_w / p_dc_w * 100
p_diss_w = p_dc_w - p_peak_w      // heat dissipated while transmitting

"Efficiency (%)": efficiency_pct
"Heat dissipated while transmitting (W)": p_diss_w

# Duty cycle by mode
// Rough, commonly used figures — SSB's duty cycle depends heavily on your
// voice and processing; CW and digital modes are far more consistent.
duty_ssb = 25 %             // typical average for unprocessed speech
duty_cw = 45 %               // typical for hand-sent CW
duty_digital = 100 %         // FT8/RTTY-style: continuous key-down tone(s)

heat_ssb_w = p_diss_w * duty_ssb
heat_cw_w = p_diss_w * duty_cw
heat_digital_w = p_diss_w * duty_digital

"Average heat — SSB (W)": heat_ssb_w
"Average heat — CW (W)": heat_cw_w
"Average heat — 100%-duty digital (W)": heat_digital_w

// Same story for average RF output, if you care about legal power limits
// measured as an average rather than a peak.
avg_rf_ssb_w = p_peak_w * duty_ssb
avg_rf_digital_w = p_peak_w * duty_digital

"Average RF output — SSB (W)": avg_rf_ssb_w
"Average RF output — 100%-duty digital (W)": avg_rf_digital_w
