Pulsos de ultrasonido y problemas de reflexión.

7

Estoy construyendo una pizarra para rastrear la posición de su pluma. Tengo nreceptores de ultrasonido colocados en la periferia de la pizarra y un emisor de ultrasonido en la pluma. La pluma emite pulsos que detectan los receptores. Un microprocesador reúne los tiempos de llegada de los pulsos para cada receptor, y con las diferencias de tiempo de llegada (TDOA) realiza una estimación de la posición del lápiz siguiendo un algoritmo de multilateración .

Los ultrasonidos se reflejan en las superficies, lo que puede causar interferencias. Esta es una restricción en la frecuencia de los pulsos. En este momento, pulso el lápiz a 10Hz, que es suficiente para que los reflejos se apaguen y no interfieran. Desafortunadamente, 10Hz no es un muestreo lo suficientemente rápido para mis propósitos. Idealmente, el lápiz debería pulsar a 100Hz. (El emisor de la pluma está conectado a un microcontrolador, por lo que puedo controlar la forma y la frecuencia del pulso).

¿Qué trucos puedo usar para abordar el problema de la reflexión? ¿Cuáles son algunas técnicas de filtrado estándar? ¿Podría usar diferentes patrones de pulso en un ciclo ayudar a filtrar los reflejos?

Randomblue
fuente
2
¿Cuál es la forma del pulso (una sinusoide, alguna señal modulada, etc.)? ¿Cuál es la duración de cada pulso? ¿Qué ancho de banda está disponible para el sistema de ultrasonido de extremo a extremo? Un esquema que podría funcionar sería recorrer un conjunto de diferentes formas de pulsos ortogonales para transmisiones posteriores; Esto ayudaría a prevenir la interferencia entre impulsos. Requeriría un cierto nivel de sincronización de tiempo entre la pizarra y el lápiz, pero eso podría resolverse potencialmente.
Jason R
1
Puedo elegir la forma del pulso y la duración (el transmisor está conectado a un microprocesador DAC totalmente programable). El ancho de banda ultrasónico es 40kHz +/- 1kHz. ¿Qué quiere decir exactamente con "formas de pulso ortogonales"?
Randomblue
@Justin una familia ortogonal de formas de pulso son, por ejemplo, pulsos / señales cuyo producto de punto entre sí da 0. Por ejemplo, un ciclo de una onda sinusoidal y un ciclo de una onda cosenoidal, cuando se toma su producto de punto, da cero.
Spacey
1
@Justin: ¿Qué cantidad de recursos de procesamiento están disponibles en el backend que está conectado a la matriz de receptores de ultrasonido?
Jason R
@JasonR: Hay dos capas de procesamiento. El primero es un chip ARM que simplemente realiza la adquisición de datos (envía las lecturas de los receptores a Internet). Entonces tengo un servidor poderoso para recibir los datos y procesarlos.
Randomblue

Respuestas:

1

Parece que su problema se presta muy bien para usar un esquema CDMA .

Let comienza con algunas propiedades de (DSSS) CDMA. (Espectro ensanchado de secuencia directa, acceso múltiple por división de código). Es un bocado, pero es realmente fácil de implementar.

En CDMA, su pulso (en la banda base) en realidad está compuesto de muchos ' chips ' concatenados como se les llama. Las fichas son solo 1s o -1s, de una duración fija. Por ejemplo, su secuencia de chip podría ser [1 -1 1 -1 -1 -1 1]. Usaría esta secuencia de chip para modular su operador.

Sin embargo, no puedes inventar tu código de chip. Lo que desea hacer es usar códigos de chip que tengan la propiedad muy agradable, que su función de autocorrelación es una función delta así:

ingrese la descripción de la imagen aquí

(De manera equivalente, su densidad espectral de potencia es blanca). Por ejemplo, puede considerar el uso de secuencias de Barker como su código de chip, (generalmente usado en el radar), o también puede usar códigos de oro . Sin embargo, en términos prácticos, esto significa que obtiene el puntaje máximo de correlación en su receptor, SOLO cuando el código de los receptores, se alinea exactamente con el código transmitido, y cero en caso contrario.

Cómo te ayuda esto? En su receptor, estaría ejecutando un correlacionador continuamente. El correlacionador estaría ejecutando un producto punto en ejecución de su propio código local, con lo que se reciba. Ahora imagine que recibe una forma de onda transmitida de su lápiz y una segunda forma de onda de un reflejo. A medida que se ejecuta el correlacionador de sus receptores, dará un pico cuando su propia palabra de código se alinee exactamente con su código del bolígrafo. Esto hará que su detector se "bloquee" en ese valor de retraso específico. Ahora, aquí es donde obtiene los beneficios de una función de autocorrelación casi delta de su código: la señal reflejada también estará presente, y también se tomará su producto de punto con el código bloqueado de los receptores, pero dará cero, o puntaje cercano a cero, ya que es ortoginalo casi ortogonal al código retrasado en el que su receptor ya se ha bloqueado.

Por el contrario, si hubiera enviado un pulso portador no codificado, estaría a merced de una interferencia constructiva o destructiva que se dispararía exactamente cuando su pulso alcanzara el nivel máximo del detector de su receptor, y así obtener TDOA erróneos.

Spacey
fuente
1
¿Algún problema con el efecto Doppler debido al movimiento del lápiz?
Endolith
No entiendo cómo el detector puede 'bloquearse' en un valor de retraso específico. La pluma se mueve, por lo que el retraso variará.
Randomblue
@endolith Sí, dependiendo de qué tan rápido se mueva el lápiz, aunque puede corregirse con un PLL.
Spacey
@ Justin Sí, se bloqueará en un retraso específico para ese pulso principal. Luego, su bolígrafo envía otro pulso y se bloquea en un nuevo retraso, etc., etc. Su bolígrafo siempre genera nuevos pulsos, y los receptores siempre los reciben, y calcula un nuevo TDOA. El punto es que las rutas múltiples no puedan interferir destructivamente con su línea principal si la señal de la vista.
Spacey
1
@endolith Sí, estoy de acuerdo. El ancho de banda tiene que ser lo suficientemente ancho. Detrás del cálculo de la servilleta que hice, muestra el delta Doppler a aproximadamente 100Hz, mientras que el ancho de banda de 2Khz ... y sí, tendría que simular para ver si es lo suficientemente bueno.
Spacey