Hacker Newsnew | past | comments | ask | show | jobs | submit | dvaita99's commentslogin

Markdown. Synced to github and Gitlab.


Can you someone do a ELI5 on this project? Tried to read but couldn't move further.


Here's one.

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.


Despite the fact you can only modulate the carrier on/off, you can still also output normal music with speech etc using pulse density modulation -

https://news.ycombinator.com/item?id=16168317

Which I don't think is monophonic, but I could be wrong?


How does a pulse density modulated audio signal sound to the human ear?

You may be right if that you tube clip is any indication. Neat!


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.


What part of the computer is emitting the radiation? And how is this program manipulating it to generate a song?


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.


I highly doubt that cpu is the emitter. More probable is some long path on mother board, used for data communication.


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."


The CPU is comprised of millions / billions of transistors which switch on and off multiple times (which depends on the base clock frequency).


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 also have a drain and a source :)


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.


Curious to know if there are other models like RACI adopted or tested at other places.


Zoom


TeamViewer is a popular option. Anydesk is another option. Remote desktop client from Microsoft might also fit the bill here.


Is this lambda effort looks like force fitting ?


Thanks for this:

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.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: