[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)