Skip to content

Impedance and Q Factor

Understanding impedance and Q factor is essential for antenna work, filter design, and component measurement. The NanoVNA-H can measure these parameters directly, but knowing what they mean helps you interpret the results and make better design decisions.

Impedance (Z) is the AC equivalent of resistance. It has two components:

Z = R + jX
  • R (Resistance): The real part - dissipates power as heat
  • X (Reactance): The imaginary part - stores and releases energy
  • j: The imaginary unit (engineers use j instead of i)

Resistance is what you measure with an ohmmeter, but at RF frequencies, additional effects appear:

  • Skin effect: Current flows only near the conductor surface, increasing R at high frequencies
  • Radiation resistance: In antennas, the “resistance” that represents radiated power
  • Loss resistance: Unwanted heating in conductors and materials

The NanoVNA calculates resistance from S11:

static float resistance(int i, const float *v) {
// Z = Z0 * (1 + S11) / (1 - S11), extract real part
return get_s11_r(1.0f - v[0], -v[1], PORT_Z);
}

Reactance is the opposition to current flow from energy storage elements:

Inductive Reactance (+jX)

XL = 2 * pi * f * L = omega * L
  • Increases with frequency
  • Positive sign (above the horizontal axis on Smith chart)
  • Current lags voltage by 90 degrees

Capacitive Reactance (-jX)

XC = -1 / (2 * pi * f * C) = -1 / (omega * C)
  • Decreases with frequency (becomes less negative)
  • Negative sign (below the horizontal axis on Smith chart)
  • Current leads voltage by 90 degrees

Components can be connected in series or parallel, and the NanoVNA can display both representations.

When components are in series, impedances add directly:

Z_series = R + jX

The NanoVNA displays:

  • R: Series resistance
  • X: Series reactance
  • sL: Series inductance (calculated from +X)
  • sC: Series capacitance (calculated from -X)
static float series_l(int i, const float *v) {
const float zi = reactance(i, v); // Get X
const float w = get_w(i); // omega = 2*pi*f
return zi / w; // L = X / omega
}
static float series_c(int i, const float *v) {
const float zi = reactance(i, v);
const float w = get_w(i);
return -1.0f / (w * zi); // C = -1 / (omega * X)
}

For parallel circuits, use admittance (Y = 1/Z = G + jB):

Y_parallel = G + jB

Where:

  • G (Conductance): 1/Rp (inverse of parallel resistance)
  • B (Susceptance): Parallel reactive component

The NanoVNA displays:

  • Rp: Parallel resistance
  • Xp: Parallel reactance
  • pL: Parallel inductance
  • pC: Parallel capacitance
  • G: Conductance
  • B: Susceptance
static float parallel_r(int i, const float *v) {
return 1.0f / conductance(i, v);
}
static float parallel_x(int i, const float *v) {
return -1.0f / susceptance(i, v);
}

Use the series model when:

  • Measuring components in series with the transmission line
  • Analyzing series resonant circuits
  • The component is between the signal path and ground
  • Reactance dominates over resistance

Resonance occurs when inductive and capacitive reactances cancel:

XL + XC = 0
omega * L = 1 / (omega * C)
f_resonance = 1 / (2 * pi * sqrt(L * C))

At resonance:

  • Total reactance is zero (X = 0)
  • Impedance is purely resistive
  • On the Smith chart, the point lies on the horizontal axis
  • For antennas, this is often the target operating frequency

The Q factor measures how “sharp” or “selective” a resonant circuit is. Higher Q means:

  • Narrower bandwidth
  • More energy stored vs. dissipated
  • Sharper frequency response
Q = |X| / R = (Energy stored per cycle) / (Energy dissipated per cycle)

The NanoVNA calculates Q directly from S11:

static float qualityfactor(int i, const float *v) {
const float r = 1.0f - get_l(v[0], v[1]); // Related to resistance
const float x = 2.0f * v[1]; // Related to reactance
return vna_fabsf(x / r);
}
Q ValueInterpretationTypical Application
< 10Low QWideband antennas, lossy components
10-50Moderate QGeneral-purpose inductors
50-200High QQuality RF inductors, crystals
> 200Very High QPrecision crystals, cavity resonators

For a resonant circuit, Q relates directly to bandwidth:

BW = f_center / Q

Example: A 7 MHz antenna with Q = 20 has a bandwidth of 350 kHz (7000/20).

You measure an unknown inductor at 10 MHz:

  • R: 5 ohms (series resistance)
  • X: +150 ohms (inductive)

Calculations:

L = X / (2 * pi * f) = 150 / (2 * pi * 10e6) = 2.39 uH
Q = X / R = 150 / 5 = 30

You measure your 40m dipole at 7.15 MHz:

  • R: 72 ohms
  • X: 0 ohms (resonant)

The antenna is resonant at this frequency. The 72 ohms represents radiation resistance plus loss resistance. No matching network is needed if your feedline can tolerate slight mismatch (SWR = 1.44:1).

You measure a 10 MHz crystal:

  • At series resonance: R = 15 ohms, X = 0
  • Just above series resonance: X increases rapidly

Calculations:

Q = f_s / BW_3dB

Crystals typically have Q > 10,000, giving extremely narrow bandwidth.

Sometimes you need to convert between representations:

Series to Parallel:

Rp = Rs * (1 + Q^2)
Xp = Xs * (1 + 1/Q^2)

Parallel to Series:

Rs = Rp / (1 + Q^2)
Xs = Xp / (1 + Q^2)

Where Q = |X|/R for either representation.

ParameterSymbolUnitWhat It Tells You
ResistanceROhmsPower dissipation
ReactanceXOhmsEnergy storage (+L, -C)
ImpedanceZOhmsTotal opposition to current
ConductanceGSiemens1/R parallel
SusceptanceBSiemensParallel reactive component
Q FactorQDimensionlessSelectivity, sharpness

Now that you understand impedance and Q, learn how the NanoVNA corrects measurement errors in Calibration Error Model.