This sentence from the linked paper is informative - "When data is exchanged between the CPU and the RAM, radio waves are emitted from the bus's long parallel circuits."
For some background:
Digital circuits like computer motherboards have components called oscillators that switch voltage on and off a number of times every second. This is what "clock speeds" refers to - 2.8 GHz CPU clock speed means voltage to CPU is being switched on and off 2.8x10^9 times per second.
All components like the processors, IO buses, RAM modules, etc. synchronize their actions to the rise and falls in these voltage levels. It's a way of synchronizing their actions.
One consequence of switching voltage on and off is that electrical fields build up and collapse (voltage is a measure of the electrical field), and cause magnetic fields to build up and collapse. We lay people call "oscillating electromagnetic fields" as "radio waves". This is the origin of radio waves from motherboards.
The missing link for transmission is that like any radio transmission, it requires an "antenna" - that is a conductor of some length. There are conductors on a circuit board in the form of copper traces through which current passes. These start acting like antennas.
In this case, the copper traces connecting CPU to RAM on that particular computer are emitting EM radiation at a frequency of 1580 kHz.
So far, all there is is some EM radiation with certain frequency and an antenna to transmit it. This is just the "carrier wave". But for transmitting useful information, some kind of modulation is necessary to encode data over that carrier wave. This project uses an SSE2 CPU instruction called MOVNTDQ or _mm_stream_si128 to write to memory, with the data to be transmitted encoded as sequences of 1s and 0s with certain frequency (rate) and for a certain time period. This act of at writing at a certain rate for some time period results in switching on and off of voltages on the traces between CPU and RAM which in turn creates modulated EM radiation.
TBH, I didn't understand the details of how this project modulates the binary data over a square wave and how it gets treated as amplitude modulation by a regular radio receiver, and I request another ELI5 from somebody else to explain it to me :)
First realize the aptitude modulation in this radio is very crude. Unlike normal radio which has many amplitudes, this radio only has 2. On and off. Tone or no tone. This radio has no control over the exact amplitude.
Due to this limitation, this radio can only transfer a single tone at a time. Music must be monophonic.
To transfer a 60htz tone we just switch between the on and off state at 60htz. The On state will be at some random amplitude that we can't control.
What are these states? In the On state, we write to a memory address repeatedly very very fast (as fast as the computer allows). And in the off state we sleep.
Ah ok! So far, I was trying to unsuccessfully fit my mental model of normal amplitude modulation to what this code is doing.
Your two statements "This radio has no control over the
exact amplitude. On state will be at some random amplitude that we can't control" were exactly the missing gaps I needed to clear my confusion. Very well explained, thank you very much!
Computers emit radio waves, by varying the processing upon the computer you can influence those emissions. Thus you are able to control those emissions and produce a radio signal you can pick up upon a standard radio.
Any wire acts as an antenna. Therefore, any part of the computer can be the part emitting the radiation.
Choosing which part of the computer is a matter of choosing the frequency which dictates the length of wire necessary and which parts can oscillate at that frequency.
The CPU colloquially called the processor does this. When you feed a program to the CPU, it switches between logic gates (read - transistors turning on and off), to process the program. As the processing elements switch between power levels of 0 and 1 (0V & 5V / 0V & 12 V), there are electromagnetic fluctuations.
These EM fluctuations are the emmissions we are talking about here.
Yes, it's the bus traces between CPU and RAM. From linked paper: "When data is exchanged between the CPU and the RAM, radio waves are emitted from the bus's long parallel circuits."
I don’t think the FETs generate enough EM on their own? It’s probably the inductors on the motherboard charging and discharging as a result of the FETs that cause the EM whine/hum?
Another likely source is the power supply, which has coils by the dozens and will react to varying loads of computational work. The cheap ones are already all over the radio spectrum even when you don’t want them to be.
The transistors in a modern machine use a minuscule amount of power and don't have enough area to make an antenna. You need to find a way to affect an output pin of the chip. Address lines for example will do a decent job, and the lower bits of the address are easy to control with a program.
I only see Series As and Series Bs happening when one or more of the following conditions are met: (a) An elite executive team (bonus if they know the VC already). “the team test“; (b) Highly demonstrable month-over-month or even quarter-by-quarter growth in key metrics. “the metrics test“; and/or (c) A well-reasoned, detailed roadmap and vision for taking the company from Point A to Point B. “the communications test” — Most seed-stage companies don’t have these (yet). I advise anyone serious about raising Institutional VC to ponder these conditions.