Introduction: Acoustic Beam Forming Circuit
A little background
- Acoustic beam forming is the process used to concentrate or cancel out sound at certain points by changing the phase and amplitude of sound waves being emitted from multiple sources. In simple terms, that means that we can play sounds from two speakers and control those speakers electronically so that the sound cancels out at a certain point in a room. Not only that, we can move the point of cancellation around without ever physically moving our speakers! If that sounds cool to you, read on to see how to this works, or skip to step 5 to jump to the instructions right away and find out how to build your own acoustic beam forming circuit.
- If you want the really nitty gritty details of the math, click here to find out more!
Step 1: How Does It Work? (Part 1)
Feel free to skip to ahead to section 5 if you want to get building. Here we'll get into the principles behind acoustic beam forming. What's going on in the diagram above? There are two speakers that we placed in the same room, speaker 1 and speaker 2. Speaker 1 and speaker 2 are playing the same periodic sound with the same frequency. (Periodic just means that the sound being played is repeated, and the frequency is the number of times that the repeated section is played, per second.) In this case, both speakers are playing a sine wave with the same wavelength, denoted as lambda. (If the speakers are playing a sound with the same frequency, the sound has the same wavelength as well. Frequency and wavelength are inversely proportional to each other.)
The circles in this diagram indicate how far away locations are from either speaker. If you stand along the red circle that is labeled .5 lambda, or .5 wavelengths away from speaker 1, sounds from speaker 1 will have to travel .5 lambda meters to get to you. I could have drawn infinitely many of these circles to represent 2 lambda, 2.5 lambda, and so on, but only drew a few in here. You'll have to imagine the rest! Now something really interesting happens where blue and red circles intersect. I marked those intersections in green, with green dots showing the places where constructive interference happens, and green X's showing the places where destructive interference occurs. Fancy sounding terms, but all I'm really saying is that if somebody stood at one of the spots marked by the green dots, they would hear the sound waves from the two speakers combining to form a really loud sound, and if somebody stood at one of the spots marked by the green X's, they would hear the sound waves from the two speakers combining to cancel out. Let's take a closer look and see what's happening at point A and point B.
Step 2: How Does It Work? (Part 2)
At point A in the previous diagram, there's a green dot, so according to me, constructive interference is happening and things get real loud for anybody standing there. Why is that? Well, let's see. Point A is 1 wavelength away from speaker 1, and 1 wavelength away from speaker 2. Imagine that our heroine, Angela, is standing at point A. She's just as far from speaker 1 as she is from speaker 2, so sounds from either speaker take the same amount of time to travel to her ear. Since that's the case, there is zero phase offset between the two sound waves when they arrive at Angela's ear. You can think of phase offset as how much one sound signal is shifted off of the other sound signal in time. By the way, phase offset is measured in degrees or radians, since it's a circular measurement. Why is that? Remember that we're working with periodic signals, so if you shift a signal like a sine wave far enough in one direction (by 2 pi radians, to be exact), you end up with the same signal again!
Since there's no phase offset between the two sound signals, Angela hears them adding up together to make one big fat sine wave with a large amplitude. You can see that in the diagram above.
Step 3: How Does It Work? (Part 3)
Not too surprising or impressive so far- so two speakers add up together to be loud. What's more interesting is what goes on at point B, where our hero Bobby is standing. Point B is 1 wave length away from speaker 1 and 1.5 wavelengths away from speaker 2, so the signal from speaker 1 gets to Bobby's ear before the signal from speaker 2. Since Bobby hears speaker 2 just a tiny bit later, there is a phase offset between the two signals that are combining to make the one sound that Bobby is perceiving. The phase offset that corresponds to the sound wave having to travel an additional .5 lambda meters to get to his ear is 1 pi radians. This means that the sine wave from speaker 2 is offset from the sine wave from speaker 1 by half a period, and the two waves add destructively to make it so that Bobby hears nothing!
Well, almost nothing. In practice, sound waves will be redirected and bounced off a whole bunch of things before getting to your ear, and the sound waves from speakers 1 and 2 almost certainly wouldn't be the same amplitude when they got to you, so perfect cancellation doesn't happen in the real world. Plus, people have two ears, not one! But even in real life, Angela would probably yell to Bobby that she couldn't hear anything over the awful noise, and Bobby would be confused since he was barely hearing anything from the two speakers.
Step 4: How Does It Work? (Part 4)
Everything I just described happens naturally without you having to do anything. Set up two large speakers playing the same periodic sound, wander around, and if you listen carefully, you can probably find the points of constructive and destructive interference.
But let's say we want to play an elaborate prank on Bobby, where no matter where he wanders in the room, he hears almost nothing coming out of the two speakers, while everybody else in the room complains about how loud it is. If we always knew where Bobby was standing, we could add a phase offset between the two signals before they're played in order to make them interfere destructively when they do reach Bobby's ears! Now one speaker plays a sin wave with frequency w, [sin(wt)], and the other speaker plays a sin wave with the same frequency w and a dynamically changing offset, [sin(wt+phi(t))]. To find out what phase offset is needed at any time, we plant a little microphone on Bobby that tells us how we should adjust the phase offset based on the volume of the sound received.
That's the basic idea behind beam formation- tweak the phase offset between the signals being played on multiple speakers, and we can cause sound waves to constructively or destructively interfere at points of our choosing. Constantly tweak that phase offset, and we can confuse Bobby as he walks around the room. In the rest of this Instructable, we'll show you how to build a small circuit that demonstrates beam formation.
Step 5: What You'll Need
The oscillators
1x breadboard
2x speakers
2x OPA551 operational amplifiers
6x 10K potentiometers (adjustable resistors)
2x 1uF capacitors
1x 4.99K resistor
The controller
1x breadboard
1x speaker (backdriven to act as a microphone)
2x TLO81 operational amplifiers
2x 200K resistors
2x 1K resistors
2x 1nF cpacitors
Tools
Oscilloscope
Wire strippers, wires
Step 6: Building the Oscillators
We will drive our two speakers with square waves generated by two hysteretic oscillators. The signals are not sine waves like in the previous examples explaining beam formation, but they are periodic signals, so constructive and destructive interference will work just fine.
Build the circuit following the diagram above, you can disregard the 4.99 K resistor in the bottom circuit for now. Make sure to use the OPA551s or an op amp with similar current sourcing capabilities and operating voltages, otherwise you won't have enough power to drive the speakers. Supply the op amps with -12V and 12V.
Once you've built the circuit, adjusting the potentiometers connected to the inverting and non inverting inputs of an op amp will adjust the frequency of the square wave generated. Adjusting the potentiometer connected to the speaker will change the volume of the speaker.
Make sure to build the two oscillator circuits on the same board! Parasitic capacitance will cause the oscillators to sync up with each other and lock together, making it easier for you to tune the two oscillators to generate the same frequency signals. The second image above shows the measurement of the outputs of the oscillators (the oscilliscope is measuring voltage at the output of the two op amps). In the image, the square waves are the same frequency and are locked together out of phase. You will be able to clearly hear this locking occur once you've tuned the two oscillators to be the same frequency. Try to do so to test your oscillators.
Step 7: Building a Controller
To build the controller, grab another breadboard and follow the circuit diagram above. The controller simplify amplifies the received microphone signal with two stages, each with a gain of 200. The capacitors act as high pass filters that center voltages, so that our measurements remain centered at zero.
For the backdriven speaker in this circuit, try to use a speaker that is of similar shape and size as compared to the two speakers that will be playing the sound. Power the TLOs between -12V and 12V.
To test if it's working, scope at the output of the second capacitor, you should see an amplified microphone (the backdriven speaker acts as the microphone) signal. It should be very sensitive, and will pick up conversation and sounds from a few feet away.
Step 8: Hooking It All Together
Hook up the oscillators and controllers with the control wire in the diagram shown above, and you should start seeing destructive interference wherever the microphone (backdriven speaker) is! For our demonstration, we tuned the oscillators to generate 2KHz square waves, and the control worked as long as the controller was kept within the range of a foot or two. You should see that moving the controller will slowly shift the phase offset between the generated square waves if you scope at the outputs of the oscillators. Take a look at the demo video to see it all in action!
It may be hard for your ears to distinguish the destructive interference near the microphone, but oscilloscopes don't lie! You should see that the amplitude of the received microphone signal is real small once you hook up the control wire, due to destructive interference. If you scaled up this system and used larger speakers, a more sensitive microphone, and a lower frequency signal with a longer wavelength, you could make much larger areas of a room noticeably quieter using the same techniques! We'll leave that as something for you to explore because we wanted this Instructable to be cheap and relatively easy.
Step 9: FAQ + More Info
Wait a second! You told me that we were controlling phase to achieve beam formation, but aren't you tuning frequency with your controller?
Yep! That's exactly right! Ideally, we'd have a oscillator whose phase is directly controlled by a voltage since it'd make this system easier to analyze, but those aren't as common or as easy to build as the oscillator we used, where frequency is directly controlled by an input voltage. Since phase is the integral of frequency, we are indirectly tuning the phase by tuning the frequency.
You're tuning phase, but wouldn't you really need to tune amplitude as well to achieve sound cancellation?
Yes! Beam formation systems that are far more sophisticated than the one we built will tune the amplitude of the waves as well to ensure destructive or constructive interference at a point. By only tuning phase, we are assuming that the amplitude of the sound waves will be the same or close at most points. In reality, if you're close to one speaker and far away from another, by the time the sound gets to you from the far away speaker, it will have a smaller amplitude, and the circuit that we built does not compensate for that.
How does the controller work? It seems like you're just amplifying the received signal, shoving that back into the system, and magically getting destructive interference at the microphone.
Controls is pretty magical, but we've done our best to analyze parts of our system here:
http://nbviewer.ipython.org/github/mbocamazo/ThinkDSP/blob/master/code/SigSys_CntrlAcstcIntfr.pdf
Who wrote this Instructable?
Never thought you'd ask! We're Dennis Chen & Michael Bocamazo, students from Olin College who created this as a final project for our Spring 2015 Signals and Systems Class.