Prueba de vida II

La prueba del sistema

En la primera parte de este artículo, Prueba de vida, comentaba la posibilidad de poder averiguar la posición de los malosos, comparando el sonido grabado con el conocimiento de los rayos que cayeron en la zona, posición y momento. Existen otras estrategias para obtener la posición, pero esta me pareció simple y tenía ganas de probarla.

Lo que hice, fue probar que efectivamente se puede realizar, entonces realicé un pequeño programa, para demostrar que se puede, y ver un poco que tal de fácil es, y una idea de que resolución se puede alcanzar con cuantos rayos.

Prueba simple

En esta prueba, vamos a comprobar que los conceptos básicos introducidos, son correctos.

Se tuvo en cuenta y se hicieron la siguientes cosas:

  • Los truenos tienen una duración en torno a los 5 Sg y ocurren en diferentes intervalos de tiempo
  • Se tiene en cuenta la distancia y la velocidad del sonido para el tiempo en que llega este a un lugar
  • Se tuvo en cuenta atenuación con las distancia estando el alcance máximo en 10 Km
  • Se representa con colores los sitios probables, va del azul oscuro como poco probable, al rojo intenso con lo mas probable.
  • Usamos un pequeño mapa, con una rejilla que tiene 1Km de ancho cada cuadricula, y cada pixel son 100m
  • Aunque los alcances de los truenos. separación temporal y espacial, puede que estén exagerados, no es demasiado importante, para esta prueba.
  • La función usada para comparar las señales de sonido, fue la correlación cruzada.

Simulamos entonces un  trozo de territorio, en el cual hay un lugar que no conocemos, pero del que tenemos grabado el sonido de los truenos.
Lo primero a probar, es con un único trueno en la zona. Tenemos la siguiente imagen:

Trueno1

El lugar secreto, está marcado con un punto verde, y se supone que es lo que tenemos que encontrar.
El único trueno que se escucha es por la caída del rayo en el lugar marcado, y el circulo grande naranja es el alcance máximo del sonido del trueno (10 Km).

En esta prueba, el rayo cayó a 4 Km de distancia del lugar secreto. Al comparar todos los sitios posibles del área, con la grabación obtenida (en el punto verde), tenemos lo que nos podíamos esperar: Los sitios mas probables, están efectivamente en un radio de 4Km del impacto del rayo. Dicho de otra forma, es el conjunto de lugares, en los que escuchamos el trueno a unos 11 Sg de diferencia con el rayo.
¡Perfecto, todo encaja bien!

Prueba con 2 rayos

Ahora, vamos a probar poniendo otro rayo a la derecha del sitio, que va a caer unos 14 sg después del primero. Es fácil presuponer, que tendremos seguramente 2 círculos en torno a cada rayo donde hay cierta probabilidad de que sea el sitio buscado, y que además coinciden en una zona, entorno a sitio real, donde la probabilidad de que esté por ahí, sea mucho mayor (mas rojiza en el gráfico).

Hacemos la prueba, y obtenemos:

Trueno2

Se ve, el mismo circulo que antes, y el nuevo circulo creado por la caída del otro rayo, que también nos da una zona probable entorno suyo. Pero se ve que la mejor zona, es donde precisamente se juntan ambos círculos, que corresponde bien con el sitio que queremos descubrir.

Problemas a la vista…

Pero aparece un problema inesperado: ¡Otro circulo de probabilidad! centrado en el primer rayo, y cerca del alcance máximo del mismo. Lo que nos indica, es que en esos lugares, escucharíamos algo con cierto parecido a lo que se grabó en el punto verde objetivo.

Está claro, que a la vista de esto, me puse a hacer pruebas, y a buscar problemas en el código, ya que no parece en absoluto normal.  El programa estaba bien, y realizaba exactamente lo que había programado, que incluso ¡coincide con lo que yo quería que hiciera!.

Explicación

En la grabación que usamos para comparar, la que está realizada en el punto verde, escuchamos 2 truenos, uno sobre el segundo 11, y otro poco mas débil sobre el segundo 14 +15=29 (14 segundos del retraso sobre el primero, más el tiempo en llegar) . Y lo que hacíamos es comprobar en cada punto del mapa, lo que hubiésemos escuchado si estuviésemos ahí, con lo grabado.

Ahora tomamos un punto a la izq del mapa, en el anillo exterior azul desconocido, para comprobar que ocurre. Lo que se nos está indicando, es que esos lugares, se parecen en algo al sitio realmente buscado.  Podemos ver que la distancia al punto de impacto del primero rayo es de 9 Km. Es fácil ver que el tiempo en recorrer el trueno esa distancia, es de aproximadamente unos 29 Seg. ¡Que casualidad!, resulta que es el momento de paso del segundo trueno por la grabación que tenemos.
Dicho de otra forma: El trueno producido por el primer relámpago en esos sitios lejanos, puede ser confundido con el trueno del segundo relámpago.

Si esto es cierto, entonces basta con poner los relámpagos suficientemente separados en el tiempo, y probar.

Truen03

Efectivamente, al hacer eso, el circulo externo, desapareció.
Pero el sistema no resulta ser tan bueno, como me podía imaginar. Usando la función de correlación, el simple encaje de un trueno, puede ser casi tan importante como el encaje de 2 truenos. Se puede ver en el dibujo, en que en el entorno del primer rayo, como está mas cerca y es más potente, se ve muchos sitios de color rojo.

Podemos probar a poner más rayos, suficientemente separados en el tiempo, y tenemos lo siguiente:

Trueno4

Como podemos ver, no parece que ganemos demasiado si introducimos más rayos, lo cual a priori podría parecer que sería mucho más beneficioso.

En todo caso, nos puede servir para descartar muchos sitios donde podemos estar muy seguros de que no está.

Quizás mejore el sistema si se usa otro tipo de sistema de comparación, que no sea la correlación cruzada.

Si alguien tiene interés, le puedo proporcionar el código del programa, está realizado en c#.net usando wpf.

Saludos.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s