draftply Download

Cascaded Noise Figure (Friis' Formula)

← All samples

noise-figure-cascade.dplyEditor
1---
2app_version: 0.1.0
3precision: 3
4form_title: Cascaded Noise Figure (Friis' Formula)
5form_description: What noise figure does your whole receive chain actually have? Enter each stage's noise figure and gain, front end first — get the system noise figure and equivalent noise temperature.
6form_inputs: Stage 1 NF (dB)|nf1_db, Stage 1 gain (dB)|g1_db, Stage 2 NF (dB)|nf2_db, Stage 2 gain (dB)|g2_db, Stage 3 NF (dB)|nf3_db, Stage 3 gain (dB)|g3_db
7form_outputs: System noise figure (dB)|nf_sys_db, System noise temperature (K)|t_sys_k, Stage 1 share of total noise|share1
8---
9# Cascaded Noise Figure (Friis' Formula)
10// "My preamp has a great noise figure — does it still matter after the
11// coax loss and the mixer?"
12//
13// Friis: F_total = F1 + (F2-1)/G1 + (F3-1)/(G1*G2) + ...
14// The first stage's noise figure dominates, *if* its gain is high enough to
15// swamp everything after it — that's why a low-loss preamp ahead of a lossy
16// feedline matters so much.
17
18# Stages, front end first
19nf1_db = 0.8 // dB — a good low-noise preamp
20g1_db = 20 // dB
21nf2_db = 3 // dB — e.g. the feedline loss shows up as "gain" < 0 and NF = loss
22g2_db = -3 // dB — 3 dB of coax loss between preamp and receiver
23nf3_db = 8 // dB — the receiver's own front end, after the preamp's gain
24g3_db = 10 // dB
25
26# Convert to linear (noise factor F, gain ratio G)
27f1 = db2ratio(nf1_db)
28g1 = db2ratio(g1_db)
29f2 = db2ratio(nf2_db)
30g2 = db2ratio(g2_db)
31f3 = db2ratio(nf3_db)
32g3 = db2ratio(g3_db)
33
34f_sys = f1 + (f2 - 1) / g1 + (f3 - 1) / (g1 * g2)
35nf_sys_db = db(f_sys)
36
37"System noise factor F": f_sys
38"System noise figure (dB)": nf_sys_db
39
40// Equivalent noise temperature, referenced to 290 K (the standard reference
41// temperature T0 used to define noise figure in the first place).
42t0_k = 290
43t_sys_k = t0_k * (f_sys - 1)
44"System noise temperature (K)": t_sys_k
45
46# How much of the total noise is each stage responsible for?
47term1 = f1
48term2 = (f2 - 1) / g1
49term3 = (f3 - 1) / (g1 * g2)
50total = term1 + term2 + term3
51
52share1 = term1 / total
53share2 = term2 / total
54share3 = term3 / total
55
56"Stage 1 share of total noise": share1
57"Stage 2 share of total noise": share2
58"Stage 3 share of total noise": share3
59