Skip to content
RFrftools.io
RF EngineeringMarch 8, 20268 min read

RF Cascade Analysis: Friis, IIP3 & Monte Carlo

A complete walkthrough of the RF Cascade Budget Analyzer: setting up a 5-stage LNA + mixer + IF chain, computing cascaded NF, gain, IIP3, and P1dB, then.

Contents

Why Nominal Values Aren't Enough

Open any RF front-end datasheet and you'll see a single noise figure and gain number — measured at 25°C, nominal supply voltage, center frequency. That's the best-case story. Real production parts show up with distributions. Your supposedly 2 dB NF LNA? It's actually got a spread from maybe 1.5 to 2.5 dB depending on process corners, temperature, and which batch the fab ran that week.

Here's where it gets painful. Say your receiver sensitivity spec demands a cascaded NF of 2.0 dB, and you've budgeted a conservative 0.5 dB margin. Looks safe on paper. But when production corners stack up — the LNA hits the high end of its NF range, the mixer drifts warm, the IF amp runs a bit noisier than typical — that margin evaporates. You're suddenly shipping receivers that barely meet spec, or worse, don't meet it at all.

The RF Cascade Budget Analyzer tackles this head-on. It computes cascaded NF, gain, IIP3, and P1dB using the standard Friis formulas, then runs vectorized Monte Carlo simulations across your per-stage tolerances. What you get out is yield statistics and sensitivity rankings that tell you which components are actually killing your margin. Input format is straightforward JSON — define as many stages as your chain needs, mixing amplifiers, mixers, attenuators, and filters however your architecture requires.

Setting Up a 5-Stage Receive Chain

Let's work through a concrete example: a 2.4 GHz receiver front-end with five stages. The signal path goes LNA → band-select filter → mixer → IF amplifier → IF filter. Pretty standard superheterodyne architecture.

Here's the stage list you'd enter:

[
  {"name": "LNA",           "gain": 15.0, "nf": 1.5, "iip3": -5.0,  "nf_tol": 0.3, "gain_tol": 0.5, "iip3_tol": 1.5},
  {"name": "BPF",           "gain": -1.5, "nf": 1.5, "iip3": 30.0,  "nf_tol": 0.2, "gain_tol": 0.2, "iip3_tol": 0.0},
  {"name": "Mixer",         "gain": -6.0, "nf": 7.5, "iip3": 12.0,  "nf_tol": 0.5, "gain_tol": 0.5, "iip3_tol": 2.0},
  {"name": "IF Amplifier",  "gain": 20.0, "nf": 5.0, "iip3": 20.0,  "nf_tol": 0.4, "gain_tol": 0.5, "iip3_tol": 1.5},
  {"name": "IF Filter",     "gain": -2.0, "nf": 2.0, "iip3": 30.0,  "nf_tol": 0.2, "gain_tol": 0.3, "iip3_tol": 0.0}
]

The nf_tol, gain_tol, and iip3_tol fields specify ±1σ tolerances for the Monte Carlo runs. Notice the passive components — the filters in this case — have zero IIP3 tolerance. That's not an oversight. Passive filter linearity is basically set by physics; it doesn't drift like an active device. The insertion loss might vary a bit with temperature or manufacturing, but the third-order intercept point stays rock-solid high.

Nominal Cascade Results

Feed these numbers into the tool and you get the nominal performance metrics. These are what you'd measure on a perfect board at room temperature with every component sitting exactly at its datasheet center value:

MetricValue
Cascaded Gain26.0 dB
Cascaded NF2.31 dB
Cascaded IIP3 (input)−10.8 dBm
Cascaded OIP3 (output)15.2 dBm
Cascaded P1dB (input)−20.8 dBm
SFDR58.4 dB·Hz^(2/3)
That cascaded NF of 2.31 dB is cutting it close. If your sensitivity budget allows 2.5 dB, you've got 0.19 dB of margin. Not much breathing room when you account for real-world variation.

The IIP3 cascade tells an interesting story. Even though the LNA provides 15 dB of gain, the mixer's relatively modest IIP3 of +12 dBm dominates the system linearity. After 13.5 dB of gain ahead of it, that mixer IIP3 gets referred back to the system input and lands around −9 dBm. The mixer is your linearity bottleneck — most engineers figure this out the hard way during integration testing.

Per-Stage Contribution Breakdown

The cumulative breakdown shows exactly where your noise and linearity budgets are being spent. The LNA contributes 1.50 dB to cascaded NF — that's 100% of its own noise figure since it's first in line. The band-pass filter adds another 0.09 dB, heavily attenuated by the 15 dB of LNA gain ahead of it. The mixer chips in 0.67 dB. This is pure Friis formula behavior: the LNA dominates noise, and every dB you add to LNA gain directly suppresses the noise contribution from everything downstream.

IIP3 works the opposite way. Later stages with high gain ahead of them dominate the cascaded IIP3. The mixer at position 3, sitting behind 13.5 dB of gain, contributes the bulk of the IIP3 degradation. Here's something most people miss: if you improved the IF amplifier's IIP3 from 20 to 30 dBm, cascaded IIP3 would change by less than 0.3 dB. The IF amp simply isn't the bottleneck. You'd be spending money on a better part that doesn't move the needle.

Monte Carlo: From Nominal to Production Yield

Now let's see what happens when you simulate 200,000 production boards. Set the Monte Carlo to use Gaussian distributions with the tolerances defined as 1σ. The simulator perturbs all stage parameters simultaneously — gain, NF, IIP3 — and runs the full Friis cascade calculation for every trial. This is where you find out if your design actually works in volume production.

The results paint a sobering picture:

Metric10th %ile50th %ile90th %ile
Cascaded NF1.97 dB2.31 dB2.67 dB
Cascaded Gain24.8 dB26.0 dB27.2 dB
Cascaded IIP3−12.6 dBm−10.8 dBm−9.1 dBm
Against your 2.5 dB NF limit, yield comes out to 78.3%. Translation: roughly one in five production boards will exceed the noise figure spec with these component tolerances. That's a serious yield problem if you're building a consumer product. You'll be burning money on rework or scrap, assuming you even catch the failures before they ship.

The sensitivity analysis digs deeper and reveals the root causes. The LNA NF tolerance (±0.3 dB, 1σ) accounts for 47% of the cascaded NF variance. The mixer NF tolerance grabs another 31%. Everything else combined contributes the remaining 22%. This quantitative breakdown is gold — it tells you exactly where to focus your efforts.

Improving Yield Without Changing the Schematic

The sensitivity breakdown points directly at the fix. You don't need to redesign anything. Just tighten the LNA NF tolerance. Change from a 0.3 dB to 0.15 dB NF tolerance (1σ) — totally achievable with tighter incoming inspection or by specifying a higher-grade LNA bin from your supplier — and yield jumps to 91.4%. Same schematic, same board layout, no new components.

Another option: shift the nominal LNA NF from 1.5 dB to 1.2 dB by selecting a higher-performance part, while keeping the same tolerance. This pushes yield to 93.8% and improves the median cascaded NF to 2.01 dB. Now you've got a comfortable 0.49 dB margin. That second scenario costs more per LNA, but it dramatically reduces tail risk. The tool lets you quantify this tradeoff in about five minutes before you commit to a BOM and place a purchase order for 10,000 units.

SFDR and the Dynamic Range Design Constraint

Cascaded IIP3 determines your spurious-free dynamic range — the window of input signal powers where neither noise nor intermodulation products dominate. The relationship is:

SFDR=23(IIP3Pnoise floor)SFDR = \frac{2}{3}(IIP3 - P_{noise\ floor})

With a noise floor of −115 dBm (calculated from kTBF for a 1 MHz bandwidth at 2.31 dB NF) and cascaded IIP3 of −10.8 dBm, you get SFDR = (2/3)(−10.8 − (−115)) = 69.5 dB. The tool presents this in normalized dB·Hz^(2/3) form, which is the standard way to compare SFDR across different bandwidths.

Here's why this matters. If two co-channel interferers show up at −45 dBm each, their third-order intermodulation products land at −10.8 + 2(−10.8 − (−45)) = −44 dBm — right at the interference level itself. The SFDR calculation flags this immediately as a potential cross-modulation problem at high input levels. You'd see desensitization or spurious responses in testing, and now you know why.

RF Cascade Budget Analyzer

Related Articles