
Motion sensing using the doppler effect - ismavis
https://danielrapp.github.io/doppler/
======
mjb
This is a very cool demo. There are a couple of ways to improve this
technique, improve accuracy, reduce power, and improve noise rejection.

The biggest wins are in improving the waveform from this one (called
"continuous wave" or CW in the radar/sonar literature) to one with more
bandwidth. One option is to sweep the frequency continuously (FMCW) or with
breaks. Another option is to switch from this continuous noise to pulses of
noise, just turning the sound on and off. Pulsing like this increases
bandwidth (because the "turning on and off" introduces higher-bandwidth edges)
very simply. Modulating the frequency during the pulse helps more, creating a
wolf-whistle like "chirp".

Doing the signal processing for these alternative waveforms is a little bit
trickier than the technique this page uses. It can be done in the time domain
with correlation, or in the frequency domain with the the FFT and simple
multiplication.

~~~
VLM
"Another option is to switch from this continuous noise to pulses of noise,
just turning the sound on and off"

You can get ranging information if you use a generating polynomial to spread
the transmitted signal into noise and then change it rather often and
correlate past transmitted data with whats received. This probably makes a lot
more sense if you already understand what I'm talking about. By example:

Your generating polynomial for psuedorandom noise says 2,42,9,73,1

You transmit 20000+2 Hz 20000+42 Hz you get the idea.

So you transmitted a 2, 42, 9, 73, 1 signal. OK.

Now reflecting back are multiple faint signals saying 2, 42, 9, 73, 1 at
different delays shifted in time because the objects are different distance
away...

Why this helps is you only get one range data point when you send a beep or a
CW signal, but now you get a discrete range data point every time your
generating polynomial switches freq, which is probably pretty often.

Also its basically unjam able unless the thing trying to jam you happens to
know your generating polynomial. Of course you can use something
cryptographically more advanced as a random number generator. We are now
entering deep (classified?) radar and ECM and EECM stuff. This rabbit hole
goes down quite a bit further of course. Cool eh?

If you're willing to sit on a desk chair and be pushed around with your laptop
at a constant speed, maybe you could make a synthetic aperture sonar. Maybe.
That would be impressive.

~~~
mjb
> We are now entering deep (classified?) radar and ECM and EECM stuff.

I doubt that this particular technique is classified, it is fairly well known
and dates back to the early days of EW. One interesting angle is that the
basic technique (frequency hopping) was invented by a famous actress and a
composer ([http://en.wikipedia.org/wiki/Hedy_Lamarr#Frequency-
hopping_s...](http://en.wikipedia.org/wiki/Hedy_Lamarr#Frequency-
hopping_spread-spectrum_invention)).

------
random_rr
FYI My dog HATED the sound from this demo. Incredibly cool demo nonetheless,
just be careful if you've got pets around!

~~~
tuleelk
Weird my dog didn't even notice.

Maybe my dog is broken :(

------
marknadal
I had read about SoundWave a long time ago and emailed the researches if they
were going to do anything with it or if they could open source their code.
Unfortunately they told me it was "just a PhD" and that I could re-build it
from the paper. I am super super super happy and glad to see that you've gone
ahead and implemented it. Thank you so much.

------
dsjoerg
Very cool!

However it makes me crazy... I hear that noise clear as a bell and I'm 42.
Wikipedia says that human hearing typically goes up to 20kHz.
([http://en.wikipedia.org/wiki/Hearing_range#Humans](http://en.wikipedia.org/wiki/Hearing_range#Humans))

So maybe you want to go high enough that a much lower % of the population will
go bonkers?

~~~
adrianpike
Scope the frequency response graph - you're probably not hearing the pure
22khz (maybe though!) and rather some of the lower harmonics.

------
draugadrotten
Very cool idea, but unexpectedly my girlfriend started screaming and didn't
let me keep the sound on for more than a second or two. She said it was a
terrible noise and gave her a headache.I didn't know it but it appears she can
hear 22 kHz.

------
lawl
Am I the only one thinking of BadBIOS right now?

------
headgasket
wow cool idea. I wonder what could be achievable in terms of precision with
different frequencies on seperate speakers and 2 or 3 microphones; a
paper(printed) or laser lit (on a surface) keyboard?

------
noncasethrow
If you use earphones, you can scroll the page by tapping on them, make sure
that the laptop panel is open.

------
refrigerator
This is absolutely brilliant

------
akosednar
How does this work with other noises and interference?

~~~
RogerL
I'm sitting outside on my deck. Birds are chirping, dogs are barking. There
was a clear 20kHz band, but the resizing rectangle was just randomly jumping
around, and when I turned on the hands free scrolling the webpage started
jumping up and down randomly and rapidly.

But hey, this is an excellent project! Love it.

------
niche
Awesome!!!!!!

------
dynjo
Mind. Blown.

