Jonathan Fodi

on sinusoids

raw, unfiltered thoughts from my brain

gained a fascinating perspective on electronics today. gonna share it and the path that led me there at the same time cause i think its cool.


im looking for open source idf parser and i found one by a guy who runs Vanellus, a company doing thermal sims for boards. starting talking to Claude about the similarties between the math behind thermal and electromechanical fields – how they’re both modeled as 3d vectors. we started talking more about Faraday’s law and i really started looking at it. a changing magnetic flux (B) with respect to time induces an electric field (around the thing inducing B – the curl). we talked about the experiment used to prove this formula – moving a magnet closer to a wire induced an E field (therefore current) through the wire.


i then realized that it wasn’t the position change that was causing the induction, it was the strength of B changing with respect to time from the frame of reference of the wire.


which then makes it clear why ac waveforms or any changing waveforms can induce/couple into other em systems even if the position isn’t changing. another interesting way to look at this is to unpack what B actually is – permeability x magnetic field. meaning either of these properties changing will also result in coupling. imagine if your pcb is subject to extreme conditions. Mu will change and therefore in the time it changes, E gets induced (though small, still cool).

∇ × E = -∂B/∂t, where B = μH
μ ↑|E| ↑ ∴ coupling ↑

we then started thinking about this time change more closely. the rise time in particular. this is the fastest change therefore produces the most coupling. and the energy it produces is in the sin waves that are composed of whatever signal is changing fast.


we started thinking about non-sinusoids (like clock sigs) as purely sums of sinusoids and things started really clicking. a clock signal is a sum of sinusoids. the sinusoids that are not at the fundamental frequency (the frequency of the clock) are called “harmonics”. these harmonics are used to create the clock signal, since perfect pulses don’t exist naturally but sinusoids do.


specifically, the sinusoids you add are at odd multiples of the dominating frequency. this is so every faster sinusoid, even if it has more cycles than the dominating (because its faster), its nth cycle will start at the same time as the dominating frequnecy.


in digital logic, the dominating frequency is the frequency of the clock. that means that a 1G clock doesn't just have energy at 1G, it radiates waves at 3G, 5G, etc.

build a clock from sinusoids

start with the fundamental, then keep adding odd harmonics. the sum approaches a square wave.

active: 1st harmonic only


seen through this lens, clock signals require a lot of energy to be created because they require a lot of harmonic sinusoids. the more sinusoids you compose, the closer you get to ideal clock waveform. but of course you need more “energy” (sinusoids).


and this makes total sense. it’s the energy equation. you’re doing “work” to change the energy. and the faster you do that work, the more energy you create.


applying this to signal integrity is so sick. so now imagine you’re trying to drive a logic chip. it needs high and low state (1’s and 0’s). you need your chip to see these edges or else itll never be able to determine 1 or 0. so what you’re doing is effectively trying to move enough energy from the srouce to this chip so that you can re-create enough of the source signal so these edges can be detected (this is called the eye diagram. chips have tolerance for what’s high and low so you need to get within this tolerance).


how do you get more energy through? you let in more sinusoids. how do you let in more sinusoids? you increase the “bandwidth” (how much frequency your system receives). there’s an exact equation for this.


now in a perfect system, whatever gets sent by the source can be recorved by receiver. but losses exist along the path. every physical system (air, pcb) has parasitic R, L, and/or C that has a frequency response. you don’t need a physical R to have resistance because resistance is a function of geometry and material properties, physical resistors just happen to have their resistance set because its intentional, not parasitic. same with L and C. and when you have a Vs, R, L, C you have a circuit and you can compute the frequency response. certain frequencies will be blocked completely (L dominant) certain will short (through C). seen through our sinusoid lens, some sinusoids get blocked and never make it through (cause theyre at different frequencies) and some pass.


now back to src -> path -> rx. if were losing sinusoids at the path, we have less energy at the rx and therefore can less easily reconstruct the signal. as long as we stay within the eye were good, but there are many techniques used in high speed comms system that account for this. “equalizing” is boosting the sources sinusoids (frequencies) by the exact amount that the path will eventually consume so that the receiver sees exactly what source sent. imagine if you get 10$ (inflation fuck) a day for lunch but a bully always takes 5$ from you. so in order to still pay for your lunch, your parents give you 15$. you still end up with the 10$. you equalized.


the cool thing is this also informs how automated routing could work. you know the source strength and you know the receiver’s eye. if you know the path loss, you’d know if youre still performant. the hard part is modeling the path. pcbs can have weird geometries that change R, L, and C. also once your path is electrically long, you need to consider reflections and therefore need to split your line into equivalent electrically short lengths and model it as a transmission line. but the goal is always the same, get the exact amount of sinusoids (energy) you need for your receiver to get the voltage level he needs.


another cool thing is that for power systems, the thing being sent from src to receiver is not a clock pulse or equivalent, its dc or 60 hz. both have little to no harmonics/sinusoids so moving it is easy (low energy). the thing we want is in low energy for power. the thing we want (to reconstruct the information) needs high frequency for logic levels.