N = i² + i·j + j²
Valid N: 1, 3, 4, 7, 9, 12, 13, 16, 19, 21...
N=7: i=2, j=1 → 4+2+1=7 ✓
Never use N=5, N=6, N=8 — invalid!
Q = D/R = √(3N)
N=7 → Q = √21 ≈ 4.583
N=4 → Q ≈ 3.46 | N=3 → Q ≈ 3.0 | N=12 → Q = 6.0
P_b = Q(√(2·E_b/N₀))
E_b/N₀ must be LINEAR, not dB!
10 dB → linear = 10 → P_b = Q(√20) = Q(4.47) ≈ 4×10⁻⁶
BPSK and QPSK have the same BER per bit in AWGN.
⚠️ Convert dB to linear FIRST: linear = 10^(dB/10)
P_b ≈ 1 / (4·E_b/N₀)
10 dB → P_b = 1/40 = 0.025 = 2.5×10⁻²
Compare: AWGN gives 4×10⁻⁶, Rayleigh gives 2.5×10⁻²
That's 4 orders of magnitude worse!
⚠️ Rayleigh = inverse linear (1/x), NOT exponential like AWGN. This is why diversity is mandatory.
C = B · log₂(1 + SNR)
B = bandwidth (Hz), SNR = linear (not dB)
1 MHz @ 20 dB (SNR=100): C = 10⁶ × log₂(101) ≈ 6.66 Mbps
1 MHz @ 30 dB (SNR=1000): C = 10⁶ × log₂(1001) ≈ 9.97 Mbps
Timeout = EstRTT + 4 · DevRTT
EstRTT = (1-α)·Old + α·Sample, α = 0.125
DevRTT = (1-β)·Old + β·|Sample-Est|, β = 0.25
4σ covers 99.99% of cases — TCP is conservative
S/I = (√(3N))ⁿ / N₀
N₀ = number of first-tier interferers:
• Omni-directional: N₀ = 6
• 120° sectoring: N₀ = 2
• 60° sectoring: N₀ = 1
N=7, n=4, omni: S/I = 4.58³⁴/6 = 441/6 = 73.5 → 18.7 dB
d_prop = d/s | d_trans = L/R
d=distance(m), s=speed(~2.5×10⁸ m/s)
L=packet(bits), R=rate(bps)
Bandwidth-delay product: R × d_prop
A = λ · H
λ = calls/hour, H = duration in HOURS (not minutes!)
3 min = 0.05 hr
Then use Erlang B table with (C, A) → GOS
⚠️ #1 mistake: forgetting to convert minutes to hours
R_s = R_b / log₂(M)
R_b = data rate (bps), M = constellation size
BPSK(M=2): R_s=R_b | QPSK(M=4): R_s=R_b/2 | 16-QAM(M=16): R_s=R_b/4
BW ≈ R_s for basic estimation
PL(dB) = 32.45 + 20·log₁₀(d_km) + 20·log₁₀(f_MHz)
Log-distance model: PL(d) = PL(d₀) + 10·n·log₁₀(d/d₀)
P_r = P_t + G_t + G_r - PL - margins
γ_MRC = Σγ_i
2 branches: output SNR = 2Γ → +3 dB
3 branches: output SNR = 3Γ → +4.8 dB
Outage: P_out = [1 - e^(-γ_th/Γ)]^M for SC
t = ⌊(d_min - 1) / 2⌋
Hamming(7,4): d_min=3, t=1 (corrects 1 error)
Code rate: R_c = k/n = 4/7
f_D = v · f_c / c
v=speed(m/s), f_c=carrier(Hz), c=3×10⁸
Coherence time: T_c ≈ 0.423/f_m
Coherence BW: B_c ≈ 1/(5·τ_rms)
n = p·q | φ(n) = (p-1)(q-1) | c = m^e mod n
Find d: e·d ≡ 1 (mod φ(n)) via Extended Euclidean
Encrypt: c = m^e mod n | Decrypt: m = c^d mod n
Pure ALOHA: 18.4% | Slotted ALOHA: 36.8%
Vulnerable time: Pure=2T, Slotted=T
CDMA Processing Gain: PG = W/R
Work the problem first, then check. Show ALL steps on the real exam.
1
SIR Calculation (15 pts)
N=7, n=4, 120° sectoring (N₀=2). Find SIR in dB. Meets 18 dB requirement?
▼
Q = √(3×7) = √21 = 4.583
S/I = Q⁴/N₀ = (4.583)⁴/2 = 441.5/2 = 220.7
SIR(dB) = 10·log₁₀(220.7) = 23.4 dB
23.4 dB > 18 dB ✓ YES
Sectoring cut interferers from 6→2. Without sectoring: SIR=18.7 dB (barely meets 18).
2
BER Comparison (15 pts)
BPSK at E_b/N₀=12 dB in AWGN and Rayleigh. How many orders worse?
▼
12 dB → linear = 10^1.2 = 15.85
AWGN: P_b = Q(√(2×15.85)) = Q(√31.7) = Q(5.63) ≈ 9×10⁻⁹
Rayleigh: P_b = 1/(4×15.85) = 1/63.4 = 1.58×10⁻²
Ratio: 1.58×10⁻² / 9×10⁻⁹ ≈ 1.7×10⁶ → 6 orders worse
3
Erlang B Capacity (15 pts)
500 users, 2 calls/hr, 3 min avg. C=12 channels, GOS=1%. Support all users?
▼
A_user = 2 × (3/60) = 2 × 0.05 = 0.1 Erlangs
A_total = 500 × 0.1 = 50 Erlangs
Erlang B table: C=12, GOS=1% → A_max ≈ 7.23 Erlangs
50 >> 7.23 → NO, cannot support
Need many more channels or cell splitting.
4
TCP Congestion (15 pts)
MSS=1000, cwnd=1, ssthresh=8. Triple dup ACK at cwnd=14. List RTTs 1-10.
▼
RTT 1: cwnd=1 (slow start)
RTT 2: cwnd=2 (slow start, doubles)
RTT 3: cwnd=4 (slow start)
RTT 4: cwnd=8 (hits ssthresh → congestion avoidance)
RTT 5: cwnd=9 (+1) | RTT 6: 10 | RTT 7: 11 | RTT 8: 12 | RTT 9: 13
RTT 10: cwnd=14 → TRIPLE DUP ACK
New ssthresh = 14/2 = 7
Fast recovery: cwnd = 7+3 = 10
5
Shannon Capacity (10 pts)
B=2 MHz, SNR=25 dB. Max data rate? Can 20 Mbps QPSK work?
▼
SNR = 25 dB → 10^2.5 = 316.2 linear
C = 2×10⁶ × log₂(317.2) = 2×10⁶ × 8.31 = 16.6 Mbps
QPSK at 20 Mbps needs 10 bps/Hz > 8.31 limit → NO
6
Path Loss / Link Budget (15 pts)
f=1.8 GHz, d=5 km, P_t=20W (43 dBm), G_t=10dBi, G_r=0dBi, sensitivity=-95 dBm. Link works?
▼
PL = 32.45 + 20·log(5) + 20·log(1800)
PL = 32.45 + 14.0 + 65.1 = 111.6 dB
P_r = 43 + 10 + 0 - 111.6 = -58.6 dBm
-58.6 > -95 ✓ Link works! Margin = 36.4 dB
7
RSA Encryption (10 pts)
p=7, q=13, e=5, m=10. Find n, φ(n), d, c.
▼
n = 7×13 = 91
φ(n) = 6×12 = 72
gcd(5,72)=1 ✓ Find d: 5×29=145=2×72+1 → d=29
c = 10⁵ mod 91: 10²=100 mod 91=9, 10⁴=81, 10⁵=810 mod 91=82
n=91, φ=72, d=29, c=82
8
MRC Diversity (10 pts)
2-branch MRC, each Γ=10 dB. Find output SNR and outage at γ_th=0 dB.
▼
Γ = 10 dB = 10 linear, γ_th = 0 dB = 1 linear
MRC output = 2×10 = 20 linear = 13.0 dB (+3 dB gain)
No diversity outage: 1-e^(-1/10) = 9.5%
MRC output SNR = 13 dB, outage drops from 9.5% to ~0.5%
9
802.11 CSMA/CA (10 pts)
Why can't WiFi use CSMA/CD? Name 3 reasons. What solves hidden terminal?
▼
1. Can't listen while transmitting (half-duplex radio)
2. Hidden terminal: A and C both reach AP but can't hear each other
3. Near-far: strong signal drowns weak, unreliable collision detection
Solution: RTS/CTS handshake sets NAV for all listeners
10
Modulation Comparison (10 pts)
10 Mbps link. Symbol rate for BPSK, QPSK, 16-QAM? Which uses least BW?
▼
BPSK (M=2): R_s = 10M/1 = 10 Msym/s → BW ≈ 10 MHz
QPSK (M=4): R_s = 10M/2 = 5 Msym/s → BW ≈ 5 MHz
16-QAM (M=16): R_s = 10M/4 = 2.5 Msym/s → BW ≈ 2.5 MHz
16-QAM uses least BW (2.5 MHz) but needs highest SNR
11
Erlang Sectoring Trap (Bonus — Kashef loves this)
C=57 channels, N=7, GOS=1%. Compare omni vs 120° sectoring capacity.
▼
Omni: C=57, GOS=1% → A = 44.2 Erlangs
120° sectoring: C_per_sector = 57/3 = 19
C=19, GOS=1% → A_per_sector = 11.2 Erlangs
Total = 3 × 11.2 = 33.6 Erlangs
Sectoring REDUCES capacity 24% (33.6 vs 44.2) but IMPROVES SIR
This is the trunking efficiency trade-off. Smaller channel pools = less efficiency.
12
Cell Splitting (10 pts)
R=2 km, N=7, n=4. Split to R=1 km. Capacity increase? Power adjustment?
▼
Area scales as R²: each cell becomes 4 smaller cells
Capacity increase: 4×
Power: P_new = P_old × (R_new/R_old)ⁿ = P_old × (1/2)⁴ = P_old/16
4× capacity, power reduced by 12 dB (factor of 16)
Say the answer out loud before flipping.
Q1: N=7 cluster, what is Q?
tap to flip
Q = √(3×7) = √21 ≈ 4.583
Q2: BPSK BER at 10 dB AWGN?
tap to flip
P_b = Q(√20) ≈ 4×10⁻⁶
Q3: BPSK BER at 10 dB Rayleigh?
tap to flip
P_b = 1/40 = 2.5×10⁻² — 4 orders worse than AWGN!
Q4: 2-branch MRC SNR gain?
tap to flip
+3 dB (doubles average SNR)
Q5: Pure ALOHA max throughput?
tap to flip
18.4% | Slotted ALOHA: 36.8%
Q6: Shannon: 1 MHz @ 20 dB → C = ?
tap to flip
C = 10⁶ × log₂(101) ≈ 6.66 Mbps
Q7: Hamming (7,4): d_min? Corrects how many?
tap to flip
d_min = 3, corrects t = 1 error
Q8: Omni N₀? 120° sector N₀? 60° sector N₀?
tap to flip
Omni: 6 | 120°: 2 | 60°: 1
Q9: N=7, n=4, omni. SIR in dB?
tap to flip
(4.583)⁴/6 = 73.5 → 18.7 dB
Q10: Free space path loss exponent?
tap to flip
n = 2 | Urban: n = 2.7-3.5 | Indoor: n = 3-5
Q11: DNS uses what protocol and port?
tap to flip
UDP port 53 | TCP for zone transfers & responses > 512B
Q12: TCP slow start: cwnd growth?
tap to flip
cwnd doubles every RTT (exponential)
Congestion avoidance: cwnd +1 per RTT (linear)
Q13: Triple dup ACK vs Timeout?
tap to flip
3 dup ACKs → fast recovery (cwnd=ssthresh+3)
Timeout → restart slow start (cwnd=1)
Q14: Erlang B: C=10, GOS=1% → A=?
tap to flip
A ≈ 4.46 Erlangs
Q15: GSM modulation?
tap to flip
GMSK with BT = 0.3
Q16: Sectoring effect on capacity?
tap to flip
SIR improves (fewer interferers)
But capacity decreases ~24% (trunking efficiency loss)
Q17: RSA: phi(n) formula?
tap to flip
n = p·q → φ(n) = (p-1)(q-1)
Q18: 10 dB → linear? 20 dB → linear? 3 dB → linear?
tap to flip
10 dB → 10 | 20 dB → 100 | 3 dB → 2
Q19: QPSK bandwidth vs BPSK?
tap to flip
QPSK uses half the bandwidth (2 bits/symbol)
Same BER as BPSK per bit!
Q20: Flow control vs congestion control?
tap to flip
Flow = receiver buffer (rwnd)
Congestion = network capacity (cwnd)
1
0-5 min: Read ALL problems
Mark easy (green), medium (yellow), hard (red). Note which formulas each needs.
2
5-25 min: Easy problems
Quick formula → substitute → compute → box. Target 20-25 pts.
3
25-55 min: Medium problems
Show ALL work. Write formula first = partial credit. Target 40-50 pts.
4
55-80 min: Hard problems
Even wrong formula gets points. Write what you know. Target 20-30 pts.
5
80-90 min: Review
Check units. Box answers. Fill in blanks with formulas + guesses.
If you freeze: STOP → Breathe → Read problem again → Write the formula → Move on if stuck > 5 min
Running out of time?
1. Write formulas for unsolved problems (= 20-30% credit)
2. Guess reasonable answers (never leave blank)
3. Check that all answers are boxed
1. dB → linear: use 10^(dB/10), NOT 10^(dB/20) for power
2. AWGN formula used for Rayleigh = 4 orders wrong
3. Duration in minutes, not hours for Erlang
4. BW (Hz) vs data rate (bps) — different units!
5. Invalid N (must be i²+ij+j²)
6. Flow control ≠ congestion control
7. SIR in linear vs dB — state which
8. QPSK same BER as BPSK per bit (not worse)
9. Doppler sign: approaching=+, receding=−
10. RSA modulus is n, NOT φ(n)
☐ Write formula first (partial credit!)
☐ Convert units (dB→linear, km→m, hr→sec)
☐ Substitute values WITH units
☐ Show intermediate steps
☐ Box the final answer
☐ Check: does the number make sense?
"Formula first. Substitute second. Compute third. Box fourth."
"Partial credit is real. Blank answers are zero."
"I am prepared. I know this. I will show all work."