https://courses.grainger.illinois.edu/ece310/sp2025/secure/lecture_notes/Section G notes/ECE_310_Slides_Spring_2025_Lecture_21_Complete.pdf