EECS16A
Acoustic Positioning System
We will start at Berkeley Time
Semester Outline
Shazam
Acoustic Positioning
Voice
Recognition 1
Voice
Recognition 2
Today’s Lab: Acoustic Positioning System
eecs 16a final fall 2025
Babak Ayazifar
Set-up
General | Lab Specific |
Receiver | Microphone |
Satellites repeatedly transmitting specific beacon signals | Speakers repeatedly playing specific tones (beacon signals) |
Set-up
Let’s go backwards
Assume we know the distance between the receiver and every satellite
How do we get those distances?
Assume we know the time-delay (in secs) of every beacon
How do we get those time-delays?
Assume we know how many samples it takes for each beacon signal to arrive at the receiver
Poll Time!
Let the sampling frequency be 1000 Hz and the speed of sound be 343 m/s. If I detect a signal with a delay of 100 samples, what is the distance between the speaker and the mic?
Poll Time!
Let the sampling frequency be 1000 Hz and the speed of sound be 343 m/s. If I detect a signal with a delay of 100 samples, what is the distance between the speaker and the mic?
How do we get sample delays?
Overview
Recall: Inner (Dot) product
Recall: Inner (Dot) product
An alternate form of the dot product
The bigger the dot product magnitude, the more “similar” the two vectors are
Tool: Cross-correlation
In Python:
cross_correlation(r, BA)[k]
Poll Time!
Given ||x|| = ||y|| = 1, when is the magnitude of the inner product expression maximized?
Poll Time!
Given ||x|| = ||y|| = 1, when is the magnitude of the inner product expression maximized?
Tool: Cross-correlation
Note: zero pad signals
to match length
blue = r
red = BA
How to use?
Absolute or relative sample delays?
Absolute or relative sample delays?
separated signals
Shift and recenter separated signals
Absolute or relative sample delays?
Now beacon 0 is at our new “origin” and all computations are relative to the new “0” – but how do we find T0?
3 Beacon Example
Circle equations: (x - xm)2 + (y - ym)2 = d2m
Trilateration
Trilateration
Trilateration
Subtracting the zeroth equation yields:
and,
Trilateration
We want to write this in terms of TDOAs and unknowns!
Trilateration
What are our unknowns in this system?
Trilateration
What are our unknowns in this system?
Trilateration
What are our unknowns in this system?
Problem: 3 unknowns and 2 equations!
Solution: add another beacon to produce a third equation!
Trilateration
3 equations and 3 unknowns, so we have a solvable system!
Multilateration
We can produce overdetermined system with M beacons!
“Solving” an Overdetermined System
Notes for Lab Computer Users
Notes for DataHub Users
Checking-off Today