Theory of Operation

A project log for Open Source Ultrasonic Phased Array

Documentation of the 3rd generation of my ultrasonic phased array project. Levitating stuff, directional speaker, haptic feedback and more!

Niklas FauthNiklas Fauth 07/03/2018 at 11:480 Comments

If you paid attention in your physics class, the concept of how these array work shouldn't be too hard to understand. If you watched the youtube video in the description, you already know what such an array looks like. If not, here is a video of my second generation ultrasonic phased array:

As you can see, the array basically consists of 19x19 ultrasonic transmitters, mounted on the top of four stacked pcbs.

Let's imagine we only have two of these transmitters. The only reason this is ultrasound is because these frequencies (40kHz) are not hearable by humans and most mammals. You could also build a phased array from traditional speakers, however it would be loud and annoying af.

We have these two transmitters right next to each otter, and each transmitter outputs the same sinusoidal waveform with the same frequency. If we would only take one transmitter, it would have a beam shape of a cone with something like 120° opening angle. However, because we have two transmitters, they interfere with each other. Instead, what we get is a beamform that is called an interference pattern.

As we keep adding more transmitters with the same frequency, the interference gets stronger and stronger. The beamform of all transmitters combined is now rather a narrow beam than a cone. Here is the measured intensity map of my 2nd phased array with no phase shift applied (all transmitters are transmitting the exact same):

As you can see, apart from some measurement errors, the transmitted beam is rather uniform. You can still identify individual transmitters, but it's not like the typical cone you would expect from a point source.

So this is fun and all, but the applications for this static beam are very limited. You could achieve the same by simply connecting all transmitters in parallel, all powered by a single amplifier. Nevertheless, you can already have fun with this: Even tough you can't control the shape of the beam, it acts very different from what humans are used to from their experience with hearable sound. With just 8x8 transmitters you can already get a beam with an opening angle of <5°, which can have a range of >20m.

Next step is to modulate this static beam: You can control the transmitted power either by changing the overall supply voltage of the amplifier, or by supplying the transmitters not with a sinusoidal wave, but with a rectangular wave with variable duty cycle. Now you basically have an AM-modulated ultrasonic speaker:

This is exactly what the project is all about. You can modulate the intensity with hearable audio, like music. As mentioned earlier, the human ear can't hear to actual ultrasound. This is because the eardrum is too sluggish to oscillate at 40kHz. However, there is still a change in pressure due to the changing power of the ultrasound that pushes against the eardrum: Your eardrum acts as a low-pass demodulator.

So let's get back to our phased array. And here is the trick: We can not only control the power of each transducer, but also the phase of it. By changing the phase of the transmitters, we can manipulate the 3D interference pattern above the transmitters in almost any way we want. The most simply thing to to is to apply a gradient from one end to the otter end of the array. This way, we can steer the beam of our array:

This, combined with the audio modulation, gives you a steerable, directional speaker. Cool? It gets better:

We can also focus our beam by applying a radial gradient. Here is a intensity map of the same setup as above. However, now the ultrasonic beam is focused to a single point on the virtual slide that we are scanning:

And the best thing is: All of this can be done in software! There are no moving parts, you can change the pressure of the air with the press of a button (and hours of maths and simulations, more about that later).

What you see in the picture, the huge spice in the intensity map in the bottom right, is a point in the room where pressure of air changes dramatically 40000 times per second. This disturbance creates airflow, and this airflow is basically what is used for the other two applications of phased arrays: Levitation and Haptic feedback. Not only can this airflow be used to literally lift object and move them around, you can also feel these bubbles of changing pressure with your bare hands. This, combined with the ability to control everything in software with a refresh rate of 200fps (with frames referring to new phase pattern) you can do very cool thing. But first, we need the hardware to do all that :)