https://courses.grainger.illinois.edu/ece329/sp2025/secure/tutorial_problems/ECE329_Final_Exam_Tutorial_Problems.pdf