Hello guys I would appreciate it if someone could help me out here. I have been asked to create a simple visualization for an assignment. I am required to triangulate the source of a artillery cannon after a shot has been fired using 3 towers(microphones). The problem I am having is how would one go about calculating the source of the sound(artillery). I assume that one would use these variables to compute the solution for the problem: speed of sound +-330 meters per second, The distance between the towers and the time each of the towers logged after the sound was heard.
Your initial ideas are good. If we take the speed of sound at 330 meters per second and we assume that it is emitted from the point of the cannon equally in all directions after the shot has been fired (and there are no buildings or other interfering objects between our towers and the cannon) then we can imagine a circle, starting at the unknown point of the cannon, with a radius increasing at the rate of 330 meters per second as the sound wave. I will imagine, at first, that we also know the precise time that the cannon was fired.
Label the towers $A$, $B$, and $C$ for simplicity. Now if tower A received the sound wave (say) 1 second after the shot was fired, we would know that the cannon was exactly 330 meters away. Therefore we can draw a circle centered at this tower which has a radius of 330 meters, knowing that our cannon is somewhere on this circle.
If tower $B$ received the sound of the cannon being fired 1.5 seconds after the shot was fired, we could draw a circle of 495 meters (1.5 times 330) centered at tower $B$, and we would know that the cannon had to be somewhere on this circle as well. The circle at tower $B$ would intersect the circle at tower $A$ in at most two places, so we have limited the location of the cannon to at most two points.
Finally the third tower $C$ may receive the signal 2 seconds after the shot was fired, allowing us to draw a circle centered at tower $C$ with radius 660 meters. This would intersect one of the two points of intersection between the circles at $B$ and $C$, and that would be the point where the cannon was located.
If we didn't know the time that the cannon was fired, we could still work out the location. Let the location of the cannon be the point $(x_0,y_0)$. Then when the shot is fired, a circle representing the sound centered on this location expands outward, it's radius increasing at $330m/s$. Let $r$ be the (unknown) distance from the tower $A$ (which we will assume is the first tower to hear the shot) to the cannon. Then letting the position of $A$ be denoted as $(a_x,a_y)$, we have that $(a_x-x_0)^2+(a_y-y_0)^2=r^2$. Note that this is an equation with three unknowns, $x_0, y_0,$ and $r$ - we know $a_x$ and $a_y$. Now assume that tower $B$ hears the shot $b_s$ seconds later. Then tower $B=(b_x,b_y)$ is on a circle $(b_x-x_0)^2+(b_y-y_0)^2=(r+330b_s)^2$. Similarly, we have that when tower $C=(c_x,c_y)$ hears the shot $c_s$ seconds after the first tower, $(c_x-x_0)^2+(c_y-y_0)^2=(r+330c_s)^2$. Therefore we have a system of three polynomials with three unknowns: $$(a_x-x_0)^2+(a_y-y_0)^2=r^2$$ $$(b_x-x_0)^2+(b_y-y_0)^2=(r+330b_s)^2$$ $$(c_x-x_0)^2+(c_y-y_0)^2=(r+330c_s)^2$$
If the sound reached all three towers at the same time (and therefore the towers were necessarily not collinear) then we would know the point of the cannon precisely by the problem of Apollonius. If not, hopefully solving this system of equations yields an answer (there are probably some physical restraints which make it so that a unique answer can be provided in most, if not all, circumstances - for instance, I imagine the towers not being collinear will be important).
From the time it takes for the sound to reach each tower you get the distance of the towers to the source since you know the speed of sound. The source can then be located as the intersection of three circles.
The solution above requires that the times be known precisely. If there is a error interval for the times, then the source will be in the intersection of three annuli.