Doppler Gesture Sensing In JavaScript

[Daniel] stumbled on an interesting paper (which we featured before) on Doppler gesture sensing using only a computer’s speaker and microphone. Unfortunately the paper didn’t include source code so [Daniel] created his own implementation of Doppler gesture sensing in JavaScript that works right in the browser.

[Daniel]’s JavaScript library generates a sine wave at 20 kHz that’s played through the computer’s speakers. The frequency is high enough that it’s pretty much inaudible. While the tone is being played through the speakers, the computer’s microphone is used to sample the audio and calculate the frequency spectrum of the signal. As you move your hand closer to the computer while the tone is playing, the frequency of the received signal shifts higher; as you move your hand away, it shifts lower. [Daniel]’s script looks for this frequency shift and uses it to trigger events.

doppler

[Daniel] has some awesome examples included on his website where you can test out the functionality for yourself. He has a hands-free scrolling example, spectrum plot, and even a virtual theremin. Since his code is bundled up into an easy-to-use library, it should be fairly easy to integrate into any webpage. The only real limitation to the library is that it only works in Chrome right now (Firefox doesn’t support disabling echo cancellation).

Making A 9GHz Doppler Radar

[Kalle] is currently building an FMCW radar, but as he doesn’t have all the parts finished he decided to build a 9GHZ doppler radar in the mean time. The H-plane horn antennas were made from brass sheet and soldered together. [Kalle] checked the matching between the emitter and the antenna by inserting a directional coupler between the two and measuring the intensity of the reflected signal (approximated return loss). At 9Ghz, the Doppler shift for a 1 meter per second speed is about 30Hz so he connected the radar’s output signal to his soundcard.

A quick explanation of the Doppler effect that a radar uses: if you send an RF signal at a given frequency to a moving target, the reflected signal’s frequency will be shifted. It is commonly heard when a vehicle sounding a siren or horn approaches, passes, and recedes from an observer. The received frequency is higher (compared to the emitted frequency) during the approach, it is identical at the instant of passing by, and it is lower during the recession. Hackaday featured plenty of projects using this effect: a small doppler motion sensor, gesture control using doppler shift, hacking an old radar gun

Making The Electronics For A Doppler Motion Sensor

There are many different sensors that can be used to detect motion in a given environment. Passive InfraRed (PIR) sensors are the most used today, as they work by detecting moving heat signatures. However, they are less reliable in the hotter days and obviously only work for animals and humans.

Sensors like the one shown in the above picture started to appear on the internet, they use the doppler effect to detect motion. I (limpkin) designed the electronics you need to add in order to get them to work.

Here is a simple explanation of the doppler effect: if you send an RF signal at a given frequency to a moving target, the reflected signal’s frequency will be shifted. It is commonly heard when a vehicle sounding a siren or horn approaches, passes, and recedes from an observer. The received frequency is higher (compared to the emitted frequency) during the approach, it is identical at the instant of passing by, and it is lower during the recession. Continue reading “Making The Electronics For A Doppler Motion Sensor”