[HN Gopher] Long distance sound localization with the Raspberry Pi
___________________________________________________________________
Long distance sound localization with the Raspberry Pi
Author : hcfman
Score : 64 points
Date : 2024-05-26 18:05 UTC (1 days ago)
(HTM) web link (medium.com)
(TXT) w3m dump (medium.com)
| xnx wrote:
| Seems to have some similarity to "Finding the Air Cannon":
| https://news.ycombinator.com/item?id=39188040
| hcfman wrote:
| Sorry. My reply to this are in the comments above. Thanks for
| posting, this is a nice read.
|
| And also points out that the longer the distances involved the
| less critical time error is making mobile phone time of arrival
| viable.
| hcfman wrote:
| In reference to that "Finding the Air Cannon" article. The
| author indicated the following facts:
|
| * His listening posts were part of a triangle with sides of
| length 3.8km, 3.0km and 6.3km
|
| * The vertices were on the roads in Corvallis, Bellfountain Rd,
| Brooklane Dr and Rivergreen Ave
|
| * The relative times of arrival are 0, 4, 6
|
| * The temperature was 35F or 1 degree celsius
|
| The only way I can make a triangle that fits on those three
| roads yields a set of the following likely co-ordinates from
| where his listening posts are:
|
| 44.52421,-123.33492 44.53796,-123.29172 44.52975,-123.25571
|
| Adding the relative times to the co-ordinates in a form whereby
| my localization program can work on it and putting it through
| my localization program I get the following result:
|
| $ localize_event.sh 1
|
| 44.52421,-123.33492 2024-05-27_12-00-00.0
|
| 44.53796,-123.29172 2024-05-27_12-00-04.0
|
| 44.52975,-123.25571 2024-05-27_12-00-06.0
|
| Enter GPS coordinates and timestamps. Press enter twice to
| finish. Location: 44.488866130770134,-123.31219694386117
|
| Web links:
|
| OpenStreetMap:
|
| https://www.openstreetmap.org/?mlat=44.488866130770134&mlon=...
|
| Google Maps:
|
| https://www.google.com/maps?q=44.488866130770134,-123.312196...
|
| Which results in a location south and west of the airport as
| described in the article :)
|
| Knowing how localization works where the sound source is
| outside of the polygons it could be a bit further South as
| well.
|
| I'd be very curious to know how close I have been in working
| this out.
| hcfman wrote:
| That's a nice read, thank you for that. If he sets up three or
| more recorders then next time he can find out within minutes of
| the first bang to within meters.
|
| But his article presents a fun challenge. He doesn't say where
| his receiver locations are but he does give a triangle
| dimensions. I wonder if it's possible to map this onto the street
| names and then work out which farm it was. It seems likely that
| there is only one way to map that triangle so each vertex is on
| the street it is reported to be on.
|
| Then you could invent a time, any time and add the number of
| seconds that he mentions to get the two other times. Now you have
| the times and the co-ordinates, within the constraints from the
| time inaccuracies you could run the docker version of my
| localization program (https://github.com/hcfman/sbts-aru) on this
| input and it would output the map link to the offending farm.
| With a largish degree of error.
|
| Note. From the diagram, the sound source doesn't fall within the
| triangle of receivers. This can still work, but the convergence
| drops off after a time so you can only practically localize this
| if the distance is not too far outside. But if you make battery
| powered receivers, you choose a better spot and move one if the
| recorders so it does fall within the triangle.
|
| Also, just one second of error is a lot!
| hcfman wrote:
| Note also, although my project details the construction of a
| Raspberry Pi recorder for high accuracy localization. If you
| are localizing over long distances and you are happy a second
| or two inaccuracy from the arrival times, then indeed you can
| run the docker version of the program listed on GitHub and
| perform localizations based on mobile phone determinations of
| time of arrival. You just have to match the correct input
| format as detailed in the article. Specifically like the
| following:
|
| $ docker run -i localize_event 20
|
| Enter GPS coordinates and timestamps. Press enter twice to
| finish.
|
| 51.014131667,5.813736667 2023-09-17_15-49-48.522301
|
| 51.015373333,5.811656667 2023-09-17_15-49-48.810330
|
| 51.016368332,5.814084879 2023-09-17_15-49-48.710824
|
| 51.015238333,5.815941667 2023-09-17_15-49-48.543376
|
| Location: 51.014903961182846,5.814442712946816
|
| Web links:
|
| OpenStreetMap:
|
| https://www.openstreetmap.org/?mlat=51.014903961182846&mlon=...
|
| Google Maps:
|
| https://www.google.com/maps?q=51.014903961182846,5.814442712...
|
| Note also, you can simulate this easily by choosing locations
| on a map and calculating the expect time of arrivals. Then you
| can introduce one more seconds of error and see what difference
| it makes.
|
| It's lovely to work things out for yourself but he could have
| saved himself some weeks of sleep by googling sound
| localization if that was his primary interest :-)
|
| It is weird that you can leg off air cannons all night for
| three weeks and not have the authorities on your head though.
| baq wrote:
| Fun! 1-2m accuracy is surprisingly good (at least for me who has
| zero experience with such things).
|
| You could probably use something like this in a war zone to
| locate from where somebody is trying to shoot you. A quick google
| later yields e.g.
| https://www.rheinmetall.com/en/products/c4i/reconnaissance-a...
| or https://transvaro.com/wp-content/uploads/akustik-eng.pdf
| (which lists accuracy of... 1-2m).
| coretx wrote:
| Feed the RPI data to https://www.civtak.org/ and send some to
| Ukraine... Saving lives was never so cheap.
| jupin wrote:
| Fascinating. This reminds me of the WWII novel All The Light We
| Cannot See where the young German soldier is tasked with locating
| illegal radio transmissions by placing receivers at different
| places and using trigonometry calculations to estimate the
| distance and direction of the source. Of course, the culprits
| would invariably be killed when found, leaving the boy with a
| deep sense of guilt.
___________________________________________________________________
(page generated 2024-05-27 23:00 UTC)