2 votos

¿Cómo filtrar el ruido entre bandas al mismo nivel que mi señal?

Estoy implementando un sistema en el que estoy detectando ondas a medida que pasan por mis sensores piezoeléctricos en una placa. Básicamente, quiero registrar el momento en que aparecen estas señales en mis sensores ya que quiero localizar la posición de la fuente.

Básicamente, estoy esperando que aparezcan ondas de sonido en mis sensores después de que alguien golpee la placa, y a partir de la diferencia de tiempo, localizar su posición.

Sin embargo, la placa (estoy hablando de una pizarra aquí) también puede absorber ondas de sonido del entorno y dependiendo del entorno, estas pueden interferir en mis señales.

Una de las soluciones que teníamos era aumentar nuestro nivel de umbral. El problema que teníamos es que nuestras señales previstas generalmente comienzan pequeñas y antes de aumentar a niveles por encima del ruido. Para cuando el nivel de la señal está por encima del ruido, el momento que habríamos deseado ya había pasado.

Dado que el ruido también son señales de sonido, ocurren a la misma frecuencia que nuestra señal prevista.

¿Habría alguna manera de filtrar este tipo de ruido?

10voto

user44635 Puntos 4308

Cuando se intenta detectar una señal en ruido, hay dos etapas de filtro para usar.

1) Mejora de la señal-ruido - eliminación de ruido fuera de banda

La primera utiliza conceptos de filtro convencionales. La señal y el ruido en cuestión están en diferentes frecuencias, por lo que puedes separarlos con un filtro. Tienes que conocer el ancho de banda de la señal y diseñar un filtro con una banda de paso nominalmente plana que preserve esos. A menudo, la banda de rechazo no necesita ser demasiado severa, a veces una mejora de unos pocos dB es suficiente para mejorar la detección subsiguiente. Si hay señales de interferencia fuertes fuera de banda, como zumbido de red, ruido 1/f que cambia el nivel de CC durante segundos o minutos, o un gran ancho de banda de ruido ambiente de alta frecuencia, entonces valdría la pena utilizar un filtro de muesca específico, filtro pasa altos o filtro pasa bajos respectivamente para eliminar esas señales malas específicas.

2) Detección de filtro a juego: detectar la señal

Después del filtro convencional, nos queda una señal y ruido en el mismo ancho de banda que la señal. Lo mejor que podemos hacer es filtrado a juego. Si se conoce el espectro de la señal pero no la forma de onda, utilizamos un filtro cuya banda de paso es el mismo espectro que la señal, en lugar de ser plana. Esto optimiza la energía de señal a ruido. Si conocemos la forma de onda de la señal, entonces podemos ir un paso más allá y correlacionar la señal recibida con la forma de onda objetivo. Una correlación produce automáticamente la buena resolución temporal que demandaría su algoritmo de localización.

¿Podemos hacerlo mejor?

Eso es todo lo que podemos hacer con un filtro lineal. Si la señal tiene una estructura más profunda, entonces podemos utilizar un procesamiento más inteligente para mejorar la precisión de la detección. Por ejemplo, en lugar de un toque en el pizarrón, podrías usar un doble toque, con los dos toques a cierta distancia de tiempo definida, por ejemplo, de 300 mS a 600mS, sospecho que la mayoría de los usuarios podrían alcanzar un retraso en un rango de 2:1. Si tu detector de señal lineal produjo una probabilidad de detección y buscó dos candidatos en el rango objetivo, podrías mejorar la discriminación.

Nota que las señales objetivo válidas siempre tendrán un arreglo de temporización único debido a la geometría del tablero y la ubicación del sensor piezoeléctrico. Utilizar más de los tres mínimos requeridos para la ubicación XY te daría redundancia, lo que te permitiría confirmar las relaciones temporales. Es probable que el ruido ambiente no tenga las mismas relaciones temporales.

¿Se puede perfeccionar?

Hay dos tipos de errores que tu discriminador puede cometer. Un falso positivo, donde el ruido es tomado por señal, y un falso negativo, donde una señal válida es ignorada. En cualquier sistema no trivial, no es posible llevar ambos índices a cero. Lo que puedes hacer es ajustar sistemáticamente el umbral mientras pruebas el sistema y trazar cómo cambian ambos índices de falla. Luego, junto con el conocimiento de la penalización por cada tipo de falla, puedes optimizar el umbral para obtener la mejor usabilidad del sistema.

Consideraciones de UI/UX

En tu caso de pizarrón, podrías reducir la penalización por falsos positivos al requerir una señal de 'confirmación' dentro de (digamos) 2 segundos de una señal de comando, y si no se recibe, se rechazaría automáticamente. Esto podría permitir que el umbral se ajuste de manera más sensible para mejorar los falsos negativos a expensas de los falsos positivos, pero tolerar automáticamente los falsos positivos más o menos.

En última instancia, si el sistema funciona o no como sistema depende de si los usuarios sienten que es utilizable. ¿Exigen tasas de falla por debajo de 1:1000, o pueden lidiar con tasas de falla de 1:10? ¿Quizás se puede tolerar un falso negativo de 1:10 si se puede obtener un falso positivo de 1:1000?

¿Qué es un toque?

¿Son los toques en el tablero toques de dedos? ¿Con el pad o con la uña del dedo? ¿O usando el lápiz, o la parte trasera del lápiz? ¿O un punzón duro? ¿O un transductor de contacto generador de señal? Hay cosas que puedes hacer en el extremo del toque para que la señal que recoges sea más única.

Formación de haces

Como señala mkeith en su comentario, este es realmente un problema de formación de haces. Lo bueno de darse cuenta de que tu problema es en realidad uno existente es que te permite aprovechar muchas matemáticas investigadas previamente para obtener un rendimiento con límites bien definidos, en lugar de esperar y trastear con un software del tipo 'si los tiempos están dentro de x entonces y'. La formación de haces implica poner todas tus señales recibidas en una matriz enorme y procesarlas, esencialmente utilizando toda la redundancia implícita en las ubicaciones múltiples de los sensores de la manera óptima para mejorar tu detección. Muchos doctorados han sido apoyados por muchas instituciones militares para encontrar submarinos con hidrófonos y misiles con radares para este tipo de matemáticas, y mucho ha filtrado al dominio público, busca MUSIC y ESPRIT por ejemplo. Si encuentras que tu relación señal-ruido no es lo suficientemente buena para el camino amateur, entonces intenta hacerlo de la manera de formación de haces.

1voto

user287001 Puntos 216

La filtración necesita alguna propiedad especial de señal que no exista o al menos tenga un nivel mucho menor en el ruido no deseado. En sistemas de comunicación y radares uno puede diseñar una señal detectable, pero creo que no querrás incluir, por ejemplo, un requisito para detectar algún patrón rítmico especial.

Incluye un micrófono de solo sonido y un circuito de puerta que rechace golpes que sean simultáneos con sonidos fuertes. Para ser inteligente, también revisa la forma de onda. Eso lamentablemente requiere algo de procesamiento de señal serio, pero de igual manera lo hace la filtración.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X