Signals and Systems
Aha, the moment I have been waiting for! Finally, EE has fully transcended basic circuit analysis. EE 120 was, in my case, the first EE class I took where I could not rely on accumulated high school knowledge anymore. We never touched Ohm’s or Kirchoff’s laws in this class. Instead, we delved into the world of continuous and discrete signals, impulse responses, frequency responses, causality, BIBO stability, feedback, and Fourier Series/Transforms. Sure, the physical manifestation of these signals is ultimately still little negatively charged balls flowing through copper wires, but all that is fittingly black boxed from this point on.
The class was taught by Professor Babak Ayazifar, one of the best professors at Berkeley. He is the Professor that all the EE students try to catch when choosing courses, and I can see why (In honor of his style, all the images I use in this post will be sourced from memes throughout the semester). Interestingly, I did not attend a single lecture or discussion in person for this class, let me explain myself. Lectures were held in a building on a far side of campus that I had no business going in the direction of otherwise. They were also recorded. Discussions were my last schedule item on Fridays. Combine that with the fact that they were not mandatory, and we have a recipe for ditching. Nonetheless, I believe I still came away from this class with a hefty amount of new knowledge.
The curriculum began with an overview of what a signal is, what a system is, differences between discrete and continuous time signals, and most importantly the impulse signal and impulse response. Here, we were introduced to the idea of convolution, which ironically, is a pretty simple yet powerful concept (not convoluted at all). Funny aside, the verb form of “convolution” is “convolve”, not “convolute”, a mistake many students made throughout the semester. Granted, in some cases of “what the heck is my output signal”, both terms may apply. After convolution, we tackled a flurry of somewhat unrelated topics in a seemingly random order. This included signal properties like stability and causality, frequency response and its mathematical roots in complex exponentials, and different forms of expressing signals and systems such as the block diagram, linear constant-coefficient difference equation, and state space realization. The last topic was easily the most difficult, important, and beautiful topic: transforms! The Fourier Series and Transforms for periodic and aperiodic signals respectively helped me shift my perspective once again on how I perceived math and functions, something last achieved by the eigenvalue/eigenvector unit in linear algebra. Everything, even those that lack any semblance of a pattern, can be broken down into constituent sines and cosines of different frequencies. At the close of the course, we were introduced to Z-transforms and told to keep our eyes out for other forms of signal decomposition in the future such as Laplace transforms and wavelets, both perhaps worth looking into.

The curriculum began with an overview of what a signal is, what a system is, differences between discrete and continuous time signals, and most importantly the impulse signal and impulse response. Here, we were introduced to the idea of convolution, which ironically, is a pretty simple yet powerful concept (not convoluted at all). Funny aside, the verb form of “convolution” is “convolve”, not “convolute”, a mistake many students made throughout the semester. Granted, in some cases of “what the heck is my output signal”, both terms may apply. After convolution, we tackled a flurry of somewhat unrelated topics in a seemingly random order. This included signal properties like stability and causality, frequency response and its mathematical roots in complex exponentials, and different forms of expressing signals and systems such as the block diagram, linear constant-coefficient difference equation, and state space realization. The last topic was easily the most difficult, important, and beautiful topic: transforms! The Fourier Series and Transforms for periodic and aperiodic signals respectively helped me shift my perspective once again on how I perceived math and functions, something last achieved by the eigenvalue/eigenvector unit in linear algebra. Everything, even those that lack any semblance of a pattern, can be broken down into constituent sines and cosines of different frequencies. At the close of the course, we were introduced to Z-transforms and told to keep our eyes out for other forms of signal decomposition in the future such as Laplace transforms and wavelets, both perhaps worth looking into.

EE 120 was an oddly structured course. There were 4 total hours of lecture weekly, which was the most I have ever heard of in a college course. One single discussion section covered topics at a high level of difficulty, but with guidance. But most interestingly, there were labs assigned throughout the semester with no designated lab section to complete them. As a result, they replaced the tediously long yet typical 30+ page homework assignments on the weeks they were assigned, giving us a much-needed break to do some coding and real-world signal processing instead of number crunching. What really made the course great was Professor Babak. Endlessly knowledgeable, intentionally funny, clearly passionate, and with a genuine desire to relate to the students, Babak is a man of the people, or should I say a “professor of the students”. Sure he gives lengthy sets and difficult exams that leave you Babakued, but he also sparks excitement towards an often difficult topic, which students will take away long after the Fourier Series has left their memory.

Food for Thought
To convolve two signals means to flip one of them (either one) and shift it to the right (or left for negative values). At each instant, take the dot product between the two signals. The dot product is the value of the convolved signal at time t (or timestep n for discrete signals) where t is the distance you have dragged the flipped signal.
Below are discrete input signal x(n) and system impulse response h(n).
Convolve the following two signals. What is h doing to x? Hint: h is a _____ detector.
Same with these two. Hint: h is a ______ _______ filter
