Level 5 — MasteryCircuit Analysis Fundamentals

Circuit Analysis Fundamentals

90 minutes60 marksprintable — key stays hidden on paper

Level 5 — Mastery (cross-domain: math + physics + coding, build/prove) Time limit: 90 minutes Total marks: 60

Instructions: Answer all three questions. Show all derivations. Where code is requested, write clean, correct Python (NumPy/SymPy permitted). Units required for full marks.


Question 1 — Thévenin, Norton & Superposition (proof + build) — 22 marks

Consider a linear DC network with two independent sources feeding a load port A–B:

  • A 12V12\,\text{V} ideal source in series with R1=4ΩR_1 = 4\,\Omega connects to node A.
  • From node A, resistor R2=6ΩR_2 = 6\,\Omega goes to node B (the ground/reference).
  • A 3A3\,\text{A} ideal current source is injected into node A (returning through B).
  • The load RLR_L is connected across A–B.

(a) Using superposition, derive a symbolic expression for the open-circuit voltage VABV_{AB} (load removed) in terms of Vs,Is,R1,R2V_s, I_s, R_1, R_2. Evaluate numerically. (6)

(b) Derive the Thévenin equivalent (Vth,RthV_{th}, R_{th}) seen at A–B, and the Norton equivalent (IN,RNI_N, R_N). Prove that Vth=INRNV_{th} = I_N R_N. (8)

(c) With RL=5ΩR_L = 5\,\Omega attached, compute the load current ILI_L and power PLP_L. (4)

(d) Write a Python function thevenin(Vs, R1, Is, R2) returning (Vth, Rth), and show a one-line assertion that reproduces your part (b) numbers. (4)


Question 2 — RC transient: derivation, energy, and numerics — 20 marks

An initially uncharged capacitor C=2.2μFC = 2.2\,\mu\text{F} is charged through R=47kΩR = 47\,\text{k}\Omega from a 9V9\,\text{V} step source at t=0t=0.

(a) Starting from KVL and the constitutive relation i=CdvC/dti = C\,dv_C/dt, derive the ODE and solve for vC(t)v_C(t). State the time constant τ\tau. (6)

(b) Compute the time for vCv_C to reach 63.2%63.2\% and 99%99\% of final value. (4)

(c) Prove that, over full charging (t:0t: 0 \to \infty), the energy delivered by the source equals twice the energy stored in the capacitor, and identify where the other half went. (6)

(d) Write Python that numerically integrates the ODE (e.g. Euler or odeint) and verifies vC(τ)0.632Vsv_C(\tau) \approx 0.632\,V_s. State the check. (4)


Question 3 — AC reactance & phasor analysis (build/prove) — 18 marks

A series RL circuit (R=100ΩR = 100\,\Omega, L=50mHL = 50\,\text{mH}) is driven by v(t)=10cos(2πft)v(t) = 10\cos(2\pi f t) with f=1kHzf = 1\,\text{kHz}.

(a) Compute the inductive reactance XLX_L, the complex impedance ZZ, its magnitude Z|Z| and phase ϕ\phi. (6)

(b) Find the current amplitude I0I_0 and write i(t)i(t) in the form I0cos(ωtθ)I_0\cos(\omega t - \theta). Explain the sign of the phase (lead/lag). (6)

(c) At what frequency fcf_c does the resistor voltage equal the inductor voltage (i.e. ZR=ZL|Z_R| = |Z_L|)? Prove this equals the 3dB-3\,\text{dB} corner of the RL low-pass taken across RR, and give fcf_c numerically. (6)


Answer keyMark scheme & solutions

Question 1

(a) Superposition (6) Remove load (open circuit at A–B). Node A referenced to B.

  • Voltage source acting alone (open the current source): divider not loaded → the 12V12\,\text{V} through R1R_1 then R2R_2 to ground, open port draws no current, so voltage across R2R_2: V=VsR2R1+R2=12610=7.2VV' = V_s\frac{R_2}{R_1+R_2} = 12\cdot\frac{6}{10} = 7.2\,\text{V} (2)
  • Current source alone (short the voltage source): R1R2R_1 \parallel R_2 carries IsI_s: V=Is(R1R2)=34610=32.4=7.2VV'' = I_s (R_1\parallel R_2) = 3\cdot\frac{4\cdot6}{10} = 3\cdot 2.4 = 7.2\,\text{V} (2)
  • Superpose: VAB=VsR2R1+R2+IsR1R2R1+R2=7.2+7.2=14.4VV_{AB} = V_s\frac{R_2}{R_1+R_2} + I_s\frac{R_1R_2}{R_1+R_2} = 7.2 + 7.2 = 14.4\,\text{V} (2)

(b) Thévenin/Norton (8) Vth=VAB,oc=14.4VV_{th} = V_{AB,oc} = 14.4\,\text{V}. (1) RthR_{th}: kill sources (short VsV_s, open IsI_s) → R1R2=2.4ΩR_1 \parallel R_2 = 2.4\,\Omega. (2) Norton: RN=Rth=2.4ΩR_N = R_{th} = 2.4\,\Omega. (1) IN=Vth/Rth=14.4/2.4=6AI_N = V_{th}/R_{th} = 14.4/2.4 = 6\,\text{A} (short-circuit current). (2) Proof: INRN=6×2.4=14.4=VthI_N R_N = 6 \times 2.4 = 14.4 = V_{th}. Source transformation is an identity because both models must produce the same VocV_{oc} (open) and IscI_{sc} (short); by Ohm's law at the port Voc=IscRthV_{oc}=I_{sc}R_{th}. ∎ (2)

(c) Load (4) IL=VthRth+RL=14.42.4+5=14.47.4=1.9459AI_L = \frac{V_{th}}{R_{th}+R_L} = \frac{14.4}{2.4+5} = \frac{14.4}{7.4} = 1.9459\,\text{A} (2) PL=IL2RL=(1.9459)25=18.93WP_L = I_L^2 R_L = (1.9459)^2\cdot 5 = 18.93\,\text{W} (2)

(d) Code (4)

def thevenin(Vs, R1, Is, R2):
    Rth = R1*R2/(R1+R2)
    Vth = Vs*R2/(R1+R2) + Is*R1*R2/(R1+R2)
    return Vth, Rth
 
assert thevenin(12,4,3,6) == (14.4, 2.4)

(function 2, assertion 2)


Question 2

(a) ODE + solution (6) KVL: Vs=iR+vCV_s = iR + v_C, with i=CdvC/dti = C\,dv_C/dt: RCdvCdt+vC=VsRC\frac{dv_C}{dt} + v_C = V_s (2) Solve (linear 1st-order), vC(0)=0v_C(0)=0: vC(t)=Vs(1et/RC)v_C(t) = V_s\left(1 - e^{-t/RC}\right) (2) τ=RC=47,000×2.2×106=0.1034s103.4ms\tau = RC = 47{,}000 \times 2.2\times10^{-6} = 0.1034\,\text{s} \approx 103.4\,\text{ms} (2)

(b) Times (4)

  • 63.2%63.2\%: by definition t=τ=0.1034st = \tau = 0.1034\,\text{s}. (2)
  • 99%99\%: 1et/τ=0.99t=τln100=0.1034×4.6052=0.476s1 - e^{-t/\tau} = 0.99 \Rightarrow t = \tau\ln 100 = 0.1034\times 4.6052 = 0.476\,\text{s}. (2)

(c) Energy proof (6) Charge delivered as tt\to\infty: Q=CVsQ = CV_s. Source energy: Wsrc=0Vsidt=VsQ=CVs2W_{src} = \int_0^\infty V_s\, i\,dt = V_s Q = C V_s^2 (2) Stored energy: WC=12CVs2W_C = \tfrac12 C V_s^2. (1) Ratio Wsrc/WC=2W_{src}/W_C = 2. (1) Dissipated in R: WR=0i2RdtW_R = \int_0^\infty i^2 R\,dt with i=(Vs/R)et/τi = (V_s/R)e^{-t/\tau}: WR=Vs2R0e2t/τdt=Vs2Rτ2=Vs2RRC2=12CVs2W_R = \frac{V_s^2}{R}\int_0^\infty e^{-2t/\tau}dt = \frac{V_s^2}{R}\cdot\frac{\tau}{2} = \frac{V_s^2}{R}\cdot\frac{RC}{2} = \tfrac12 CV_s^2 So Wsrc=WC+WR=CVs2W_{src} = W_C + W_R = CV_s^2; the missing half is dissipated as heat in RR, independent of RR. ∎ (2)

(d) Code (4)

import numpy as np
Vs, R, C = 9.0, 47e3, 2.2e-6
tau = R*C
dt = tau/2000; t=0.0; v=0.0
while t < tau:
    v += dt*(Vs - v)/tau     # Euler on RC dv/dt = Vs - v
    t += dt
print(v, 0.632*Vs)           # ~5.688 vs 5.688
assert abs(v - 0.632*Vs) < 0.02*Vs

(integration 2, check 2)


Question 3

(a) Impedance (6) ω=2πf=2π(1000)=6283.2rad/s\omega = 2\pi f = 2\pi(1000) = 6283.2\,\text{rad/s}. XL=ωL=6283.2×0.05=314.16ΩX_L = \omega L = 6283.2 \times 0.05 = 314.16\,\Omega (2) Z=R+jXL=100+j314.16ΩZ = R + jX_L = 100 + j314.16\,\Omega (1) Z=1002+314.162=10000+98696=329.7Ω|Z| = \sqrt{100^2 + 314.16^2} = \sqrt{10000+98696} = 329.7\,\Omega (2) ϕ=arctan(314.16/100)=72.34\phi = \arctan(314.16/100) = 72.34^\circ (1)

(b) Current (6) I0=V0Z=10329.7=0.03033A=30.33mAI_0 = \frac{V_0}{|Z|} = \frac{10}{329.7} = 0.03033\,\text{A} = 30.33\,\text{mA} (2) i(t)=0.03033cos(ωt72.34)i(t) = 0.03033\cos(\omega t - 72.34^\circ) (2) Current lags voltage by 72.3472.34^\circ: in an inductive circuit the current cannot change instantly, so it trails the driving voltage; the phase angle equals ϕ\phi of ZZ. (2)

(c) Corner frequency (6) Equal magnitudes: ZR=ZLR=ωcLωc=R/L|Z_R| = |Z_L| \Rightarrow R = \omega_c L \Rightarrow \omega_c = R/L. (2) fc=R2πL=1002π(0.05)=318.3Hzf_c = \frac{R}{2\pi L} = \frac{100}{2\pi(0.05)} = 318.3\,\text{Hz} (2) Low-pass across RR: H=RR+jωLH = \frac{R}{R+j\omega L}, H=RR2+(ωL)2|H| = \frac{R}{\sqrt{R^2+(\omega L)^2}}. At ωL=R\omega L = R, H=1/2=3dB|H| = 1/\sqrt2 = -3\,\text{dB}. So the equal-magnitude point is the 3dB-3\,\text{dB} corner. ∎ (2)


[
  {"claim":"Q1a Voc = 14.4 V by superposition","code":"Vs,R1,Is,R2=12,4,3,6; Voc=Vs*R2/(R1+R2)+Is*R1*R2/(R1+R2); result=abs(Voc-14.4)<1e-9"},
  {"claim":"Q1b IN*RN equals Vth","code":"Rth=Rational(4*6,4+6); Vth=Rational(144,10); IN=Vth/Rth; result=simplify(IN*Rth-Vth)==0 and IN==6"},
  {"claim":"Q1c load power ~18.93 W","code":"Vth,Rth,RL=14.4,2.4,5; IL=Vth/(Rth+RL); PL=IL**2*RL; result=abs(PL-18.93)<0.02"},
  {"claim":"Q2 tau and 99% time","code":"tau=47000*2.2e-6; t99=tau*log(100); result=abs(float(tau)-0.10340)<1e-4 and abs(float(t99)-0.4763)<1e-3"},
  {"claim":"Q3 |Z| and phase for RL","code":"import math; XL=2*math.pi*1000*0.05; Z=math.hypot(100,XL); ph=math.degrees(math.atan2(XL,100)); result=abs(Z-329.7)<0.5 and abs(ph-72.34)<0.1"},
  {"claim":"Q3c corner freq 318.3 Hz","code":"import math; fc=100/(2*math.pi*0.05); result=abs(fc-318.31)<0.1"}
]