RF Filter Design Guide
Lumped LC, Butterworth/Chebyshev Prototypes & Microstrip Implementation
1. Introduction — Why Filters Define an RF System
In an RF chain, the filter is often the difference between a transmitter that passes its out-of-band emission test and one that radiatively jams its own receiver. Filters select the wanted channel, reject image frequencies and blockers, set the noise bandwidth of a receiver, and prevent transmitter harmonics from desensitizing other radios. This guide walks the complete design path: choosing the response type (Butterworth vs Chebyshev), computing element values from normalized low-pass prototype g-values, transforming to low/high/bandpass/bandstop, and finally implementing the design in lumped LC or printed microstrip on FR-4 (or a proper RF laminate) — with worked g-value calculations and verification guidance in ADS or microstrip calculators.
2. Filter Types and Response Shapes
2.1 Basic Categories
| Type | Passes | Rejects | Typical Use |
|---|---|---|---|
| Low-pass (LPF) | DC → fc | Above fc | Harmonic suppression after PA, anti-alias |
| High-pass (HPF) | fc → ∞ | Below fc | DC block, image reject (with LPF) |
| Band-pass (BPF) | f1–f2 | Both sides | Frequency selection, IF filters |
| Band-stop (notch) | Everything but f1–f2 | Narrow band | Remove LO leakage, intermod spur |
2.2 Key Performance Parameters Defined
Insertion loss (passband, dB) = −20·log10|S21| — want tiny (0.1–1 dB typical)
Return loss (dB) = −20·log10|S11| — want large (≥ 15–20 dB ⇒ SWR ≤ 1.43–1.22)
Suppression / rejection (dB) = −20·log10|S21| in stopband — e.g. −40 dB at 2·fc
VSWR = (1+|Γ|)/(1−|Γ|), with Γ = S11. 15 dB return loss ⇒ VSWR 1.43.
Qloaded = fc/BW3dB for BPF; 3-dB bandwidth defines selectivity.
3. Butterworth vs Chebyshev — The Prototype Decision
3.1 The Normalized Low-Pass Prototype
All classical filters start as a normalized low-pass prototype: cutoff ωc = 1 rad/s, source resistance 1 Ω. The circuit is a ladder of series inductors and shunt capacitors, whose normalized element values are the famous g-values: g0 = 1 (source), then g1…gN+1 (last = load, gN+1 = 1 ideally).
3.2 Comparison Table
| Aspect | Butterworth (maximally flat) | Chebyshev (equiripple) |
|---|---|---|
| Passband response | Maximally flat at 0, monotonic | Ripple oscillates between 1 and 1/(1−δ)² |
| Selectivity (roll-off) | −20N dB/decade asymptote (slower near fc) | Steeper near fc for same N |
| Group delay | Flatter in passband | More distorted (ripple peaks steepen delay) |
| Ripple (dB) | 0 (ideal) | Configurable: 0.01–1 dB typical |
| Component sensitivity | Lower tolerance sensitivity | Higher — ripple sharpens skirts |
| Use when | Phase/group delay matter, benign specs | Max stopband rejection for given N |
3.2 Choosing the Chebyshev Ripple
The ripple parameter is your knobs: it trades passband flatness against skirt steepness per pole. A larger ripple lets fewer poles meet a stopband target, but the passband insertion-loss ripple increases and the group-delay distortion sharpens — both harmful in band-passes feeding a demodulator or an ADC anti-alias front end.
| Ripple (dB) | Typical IL ripple* | Skirt benefit | Best use |
|---|---|---|---|
| 0.01 dB | ~0.005 dB | Nearly Butterworth-like | Flatness-critical, phase-critical receivers |
| 0.1 dB | ~0.05 dB | Good | RF front-end sweet spot |
| 0.5 dB | ~0.25 dB | Strong | Maximum rejection per pole; PA/LNA filters |
| 1.0 dB | ~0.5 dB | Very strong | Only where flatness is tolerable; rarely for narrowband |
*Ripple ≈ ripple/2 because the loss dip sits mid-band and the ripple peaks at the band edge; this is the practical IL variation you will measure.
Selection rule: start at 0.1 dB for general RF. If the stopband target is unattainable with a reasonable number of sections, step up to 0.5 dB before adding a pole — every added pole costs real-estate and loss, so ripple is the “free” margin. Step down to 0.01 dB only when a specifications sheet explicitly demands flat passband (e.g., wideband measurement front ends).
3.3 Filter Ordering Estimate
Required order from desired stopband attenuation Astop (dB) at normalized frequency Ω = f/fc:
Chebyshev: N ≥ acosh(√(100.1A − 1) / ε) / acosh(Ω), ε = √(100.1·ripple − 1)
Worked: A = 40 dB at Ω = 2. Butterworth: N = log10(10⁴−1)/(2·0.3010) = 4.0/0.602 = 6.64 → N = 7. Chebyshev 0.1 dB: ε=√(10^0.01−1)=0.153 → N = acosh(√(9999)/0.153)/acosh(2) = acosh(653.5)/1.316 ≈ 7.18/1.316 = 5.46 → N = 6. Selecting that extra pole matters!
4. g-Value Tables and Computing L/C Values
4.1 Normalized g-Values (Low-Pass Prototype, 1 Ω / 1 rad/s)
For equal source/load (g0 = gN+1 = 1) with an N-element ladder of series-L then shunt-C:
| N | Type | g1 / gN | g2 / gN-1 | g3 / gN-2 | g4 / gN-3 | g5 |
|---|---|---|---|---|---|---|
| 3 | Butterworth | 1.000 | 2.000 | 1.000 | — | — |
| 5 | Butterworth | 0.618 | 1.618 | 2.000 | 1.618 | 0.618 |
| 5 | Cheb 0.1 dB | 1.147 | 1.364 | 1.974 | 1.364 | 1.147 |
| 5 | Cheb 0.5 dB | 1.807 | 1.302 | 2.691 | 1.302 | 1.807 |
| 7 | Cheb 0.1 dB | 1.392 | 1.476 | 2.284 | 1.532 | 2.546 |
(Chebyshev normalized cutoff is where the ripple band ends; Butterworth g-values from MW-style tables. For precise N, use a filter synthesis tool — the table excerpt is for the worked example below.)
4.2 Denormalization Formulas
Series inductors: Lk = gk·R0 / ωc [H], ωc = 2π·fc
Shunt capacitors: Ck = gk / (ωc·R0) [F]
High-pass transform: series L→shunt C: C = 1/(ωc·gk·R0); shunt C→series L: L = R0/(ωc·gk)
Band-pass transform (LPF g with BW = f2−f1, f0=√(f1f2)):
Series element → series L = gk·R0/(2π·BW) and series C = BW/(2π·f0²·gk·R0)
Shunt element → shunt C = gk/(2π·BW·R0) and shunt L = BW·R0/(2π·f0²·gk)
5. Worked Example — 5th-Order Chebyshev 0.5 dB LPF at 2.4 GHz
g-values (N=5, Cheb 0.5 dB): g1=1.807, g2=1.302, g3=2.691, g4=1.302, g5=1.807 (g0=g6=1).
R0 = 50 Ω, ωc = 2π·2.4e9 = 1.508e10 rad/s.
Ladder L1-C2-L3-C4-L5 (series L first):
L1 = 1.807·50/1.508e10 = 5.99 nH → 6.0 nH
C2 = 1.302/(1.508e10·50) = 1.73 pF → 1.7 pF
L3 = 2.691·50/1.508e10 = 8.92 nH → 8.9 nH
C4 = 1.302/(1.508e10·50) = 1.73 pF → 1.7 pF
L5 = 1.807·50/1.508e10 = 5.99 nH → 6.0 nH
Check rejection at 4.8 GHz (Ω=2): Cheb 0.5dB N=5: |S21| = 1/√(1+ε²·T5²(2)), T₅(2)=2·((16−20+5))… burn the Chebyshev polynomial T5(2)=362 → ≈ −20·log10(0.0125·0.153·362) ≈ 37 dB ✓ (≥30).
Component Q effect: real inductors Q≈40 at 2.4 GHz (0402 multilayer) add ~0.2–0.4 dB IL; choose ceramic for caps.
5.1 Worked Example — Frequency Transformations: High-Pass & Band-Pass
Once the low-pass prototype is known, the same g-values produce a high-pass or band-pass by the standard reactance transformations. The example below continues from §5 but applies the transforms, so you can generalize the LPF design flow to arbitrary response shapes.
Transform: series L → shunt C, shunt C → series L.
Cseries,k=1 = 1/(ωc·g1·R0) = 1/(1.508e10·1.807·50) = 0.734 pF → 0.73 pF
Lshunt,k=2 = R0/(ωc·g2) = 50/(1.508e10·1.302) = 2.55 nH → 2.5 nH
Ck=3 = 1/(1.508e10·2.691·50) = 0.493 pF → 0.49 pF
Lk=4 = 50/(1.508e10·1.302) = 2.55 nH; Ck=5 = 0.73 pF.
Result: high-pass with cutoff 2.4 GHz, -3 dB at fc, provides image rejection below the band.
b) Band-pass from a 3rd-order Butterworth LP prototype (BW = 200 MHz, f0 = 2.4 GHz, 50 Ω):
g1=g3=1.0, g2=2.0. ω0=2π·2.4e9=1.508e10, BW=2π·200e6=1.2566e9 rad/s.
Series branch (from L1, k=1): series L = g1·R0/BW = 1.0·50/1.2566e9 = 39.8 nH; series C = BW/(ω0²·g1·R0) = 1.2566e9/(2.274e20·50) = 0.111 pF.
Shunt branch (from C2, k=2): shunt C = g2/(BW·R0) = 2.0/(1.2566e9·50) = 31.8 pF; shunt L = BW·R0/(ω0²·g2) = 1.2566e9·50/(2.274e20·2) = 0.138 nH.
Practical caution: 0.1 pF series caps are at the edge of chip-cap tolerance; for narrowband band-passes prefer distributed resonators or a Butterworth with wider BW margin.
6. Microstrip Implementation on FR-4 and RF Laminates
6.1 Microstrip Line Parameters
εeff = (εr+1)/2 + (εr−1)/2 · (1 + 12h/w)−1/2
Z0 = (60/√εeff) · ln(8h/w + w/4h) for w/h ≤ 1
FR-4: εr ≈ 4.2–4.5 (but lossy: tanδ ≈ 0.02 at 2.4 GHz, εr drifts with frequency). RF-grade (Rogers RO4350B): εr=3.66±0.05, tanδ≈0.0037 — much lower loss.
Worked: 50 Ω microstrip on RO4350B, h=0.508 mm (20 mil): w ≈ 1.13 mm (~44 mil). On FR-4 h=1.6 mm: w ≈ 3.0 mm for 50 Ω (wide and lossy at GHz).
6.2 Lumped vs Distributed Implementation Trade-offs
| Aspect | Lumped LC (0402/0603) | Distributed (microstrip) |
|---|---|---|
| Frequency range | Up to ~3–6 GHz (parasitics & SRF limit) | 100 MHz – 100+ GHz |
| Q / loss | Q 20–80 (chip L), var with mfr | Q 100–300, substrate dominated |
| Size | Very small | Large (wavelength scale) |
| Tuning | Swap values; tight tolerance matters | Laser trim, tune stub length |
| Repeatability | Component tolerance ±2–5% | Etching + ε tolerance ±5–10% |
| Best for | ≤ 2.4 GHz module sub-filters, IF, power amp output | High Q, > 3 GHz, integrated front-ends |
6.3 Cascading and Q Effects
Cascading two filters multiplies selectivity (10 dB + 20 dB = 30 dB rejection) but adds insertion loss and can create impedance interactions: the passband ripple of each adds (worst-case), and the mismatch between sections lowers effective stopband. Practical: cascade with a matched interstage (or at least check S11 of each section into the other’s impedance). Unloaded Q of the resonators sets the achievable rejection and passband IL: IL ≈ (N·ωc·C/VSWR)/Qu roughly — high Q unloaded = lower passband loss.
6.4 Temperature and Power Handling
Two constraints that dominate field failures are self-heating and operating-temperature drift. A filter’s center frequency and cutoff scale with the reactance values; inductors using ferrite cores (rare at RF, common in mixed IF filters) shift both ε and μ with temperature, while ceramic capacitors exhibit temperature coefficients from +30 ppm/°C (C0G/NP0, only ~±30 ppm over −55…+125 °C) to −750 ppm/°C for cheap X5R/X7R below resonance — a 2.4 GHz filter built with X7R caps can drift 5–15 MHz with a 50 °C swing, which is often fatal for a 20 MHz channel.
| Substrate | εr drift with T | Impact at 2.4 GHz |
|---|---|---|
| FR-4 | ~-1 to -7 ppm/°C (notoriously non-repeatable) | Cutoff +/− several MHz |
| RO4350B | +40 ± 10 ppm/°C | Well predictable, design in margin |
| RT/duroid 5880 | −125 ppm/°C (PTFE) | Larger drift, best Q |
Power handling: microstrip lines and chip inductors have a peak breakdown and a thermal limit (power dissipation = IL_watts); a 0.5 dB IL at 1 W input dissipates ~110 mW in the filter — trivial for a 0603 but significant for a narrow trace under repeated thermal cycling. For high-power TX paths, verify the current rating of the series inductance at the band edge (I = V/Z0) and the voltage rating of shunt capacitors (V = I·Z0). Derate to 50% of datasheet ratings.
7. Verification in ADS / Microstrip Tools
1. Build schematic: 50 Ω source → L1(green) → C2(shunt) → L3 → C4 → L5 → 50 Ω load.
2. Set L1/L5 = 6.0 nH, C2/C4 = 1.7 pF, L3 = 8.9 nH; attach S-parameter sweep 0.5–8 GHz.
3. Expect: |S21| flat 0–2.4 GHz (−0.5 dB ripple), −30+ dB at 4.8 GHz; |S11| < −15 dB
4. Optimize (ADSOptimizer) C/L within ±5%; then layout with MSub: RO4350B 0.508 mm, w=1.13 mm, use MLEF/MCLIN for connection lines.
5. Momentum EM-simulate final layout: expect IL +0.15–0.3 dB vs ideal; iterate via shrink/grow pads.
Free alternatives: Qucs, Keysight PathWave (evaluation), Saturn PCB Toolkit for Z0, and TXLine for line width.
8. Worked Example — Microstrip LPF Implementation (Distributed)
Step 1 — high-Z line (Zhi=100 Ω, acts as series L): whi for 100 Ω ≈ 0.37 mm (14.5 mil).
Step 2 — low-Z line (Zlo=20 Ω, acts as shunt C): wlo ≈ 7.4 mm (wide!).
Step 3 — replace each Lk with a short high-Z section: effective L ≈ Zhi·lk/c_eff where l is physical length; for L1=8.9 nH: l = L·c/(Z·√εeff) = 8.9n·3e8/(100·√2.8) ≈ 0.0267/100 ≈ 4.5 mm.
Replace each Ck with low-Z open stub: C ≈ εeff·w·l/(h·c·Zlo) ·(…) → for C2=1.7 pF: l ≈ 3.1 mm.
Step 4 — verify total length < λ/8 at fc (≈ 21 mm @1GHz) for the lumped-approx validity; EM-simulate to refine.
Expected: ±10% geometry tolerance ⇒ cutoff shifts ±10%; etch compensation +0.5–1 mil on boards improves accuracy.
9. Common Mistakes
- Using FR-4 for GHz filters and expecting tight skirts — tanδ=0.02 soaks passband IL and broadens response; use RF laminate above ~2 GHz or tolerate the loss.
- Neglecting component SRF/self-resonance — a “1 nF” cap that self-resonates at 400 MHz is an inductor at 2.4 GHz.
- Ignoring return loss/impedance mismatch between cascaded stages — two 20 dB filters can give 12 dB combined rejection at some frequencies.
- Using DC-DC-style “rule-of-thumb” cutoff instead of the prototype math — element values scale non-linearly with order/ripple.
- Forgetting tolerance spread — ±5% caps + ±5% etch can move rejection out of spec; design with margin or include tunable pads.
- Not accounting for the SMA/launcher discontinuity in simulations before layout sign-off.
- Over-trusting the ideal-lossless simulation — always simulate with real component models (with Q and SRF) and EM-extract the layout.
10. Frequently Asked Questions
Q1. Butterworth or Chebyshev?
Chebyshev gives the sharpest skirt for a fixed order (best rejection per component), at the cost of passband ripple and worse group delay. Butterworth is flat and more robust to component tolerance — pick Chebyshev when rejection is the constraint and your load/input impedances are well matched.
Q2. What ripple should I choose for an RF filter?
0.1–0.5 dB is typical in RF (receiver sensitivity and PA drive flatness constraints). Below 0.1 dB the skirt advantage fades; above 0.5 dB passband flatness and phase get ugly fast.
Q3. Lumped or microstrip for my 2.4 GHz filter?
Lumped (0402/0603 high-Q inductors + C0G/NP0 caps) is compact and fine for many 2.4 GHz apps up to ~3 GHz. Above that or when Q/ selectivity is critical, go distributed on RO4350B or Rogers RT/duroid.
Q4. How do I estimate passband insertion loss?
IL ≈ 4.34 · (fc/BW · 1/Qu) · Σgk roughly for a bandpass, or use s-parameter simulation with real component Q and trace loss. Expect 0.2–0.5 dB extra from board loss at 2.4 GHz on FR-4.
Q5. My simulated filter hits spec but the measured board doesn’t. Why?
Most often: component self-resonance, pad/etch parasitics, launcher discontinuity, and substrate ε tolerance. Include those in simulation and re-EM; also verify VNA calibration (SOLT at the reference plane).
Q6. Can I cascade two filters to get double rejection safely?
Yes for rejection, but add a matching section or buffer between stages to avoid impedance derating, and budget the added insertion loss in the link budget. Check the combined S11, not just S21.
11. Design Checklist
- Write the specification as: passband limits, minimum stopband attenuation at offset frequencies, ripple, system impedance (usually 50 Ω), operating temperature range, power.
- Decide prototype (Butterworth flat / Chebyshev steep) and order N from §3.3; pick the ripple from §3.2 — do not guess g-values.
- Look up the exact g-values for your N and ripple from a trusted table; denormalize to fc and R0; sanity-check with a quick calculator (Qucs) before layout.
- Choose lumped (≤3 GHz, small, medium Q) or distributed (higher Q, >3 GHz) per §6.2; model SRF and Q of every real component.
- Include temperature drift (§6.4) and derate component ratings 50% for TX paths; prefer C0G/NP0 caps at RF.
- Simulate S-parameters with real models and EM-extract the layout; verify IL, return loss ≥15 dB, and stopband at each offset.
- Plan the test: VNA SOLT calibration, measure S21/S11 over the full band, compare to simulation; re-tune pads if off-spec.