---
app_version: 0.1.0
precision: 3
form_title: Resistive Attenuator Pad (Pi / T)
form_description: Design a matched resistive attenuator — enter the wanted attenuation and line impedance, get both Pi-pad and T-pad resistor values.
form_inputs: Attenuation (dB)|attenuation_db, Line impedance (Ω)|z0
form_outputs: T-pad series R (Ω)|r_series_t, T-pad shunt R (Ω)|r_shunt_t, Pi-pad shunt R (Ω)|r_shunt_pi, Pi-pad series R (Ω)|r_series_pi
---
# Resistive Attenuator Pad (Pi / T)
// "I need to knock 10 dB off this signal without upsetting the match."
//
// Both pads are symmetric and matched: looking into either end with the
// other terminated in Z0, you still see Z0 — handy ahead of a sensitive
// receiver input or a power meter that expects 50 Ω.

attenuation_db = 10          // wanted attenuation
z0 = 50                      // Ω, line impedance (50 Ω is standard for ham gear)

k = 10^(attenuation_db / 20)  // voltage ratio for this attenuation

// T-pad: two series resistors bookending one shunt resistor to ground.
r_series_t = z0 * (k - 1) / (k + 1)
r_shunt_t = z0 * 2 * k / (k^2 - 1)

// Pi-pad: two shunt resistors to ground bookending one series resistor.
r_shunt_pi = z0 * (k + 1) / (k - 1)
r_series_pi = z0 * (k^2 - 1) / (2 * k)

"Voltage ratio K": k
"T-pad series R (Ω), ×2": r_series_t
"T-pad shunt R (Ω)": r_shunt_t
"Pi-pad shunt R (Ω), ×2": r_shunt_pi
"Pi-pad series R (Ω)": r_series_pi

# Nearest resistors you can actually buy
// The exact values above rarely exist off the shelf — e24() rounds each one
// to the nearest standard value from the E24 preferred-number series.
"T-pad series R, nearest E24 (Ω)": e24(r_series_t)
"T-pad shunt R, nearest E24 (Ω)": e24(r_shunt_t)
"Pi-pad shunt R, nearest E24 (Ω)": e24(r_shunt_pi)
"Pi-pad series R, nearest E24 (Ω)": e24(r_series_pi)

// Power rating check: the pad dissipates the difference between what goes in
// and what comes out. For a transmitter pad (as opposed to a receiver-line
// pad), size every resistor generously above its share of this total.
input_power_w = 100
output_power_w = input_power_w / k^2
"Total power dissipated in the pad (W), at 100 W in": input_power_w - output_power_w
