Evitar el eco/retroalimentación en los teléfonos con altavoz, ¿cómo?

Incluso un teléfono móvil de $20 con altavoz no tiene problemas de retroalimentación. Si bien entiendo que compañías como Mediatek han usado volúmenes locos para reducir tanto los precios de los chipsets móviles, pero al leer algunos artículos tengo la impresión de que los circuitos/electrónica para suprimir/eliminar la retroalimentación de tales arreglos de altavoz-teléfono donde se colocan el altavoz y el micrófono en una proximidad muy cercana, es bastante complejo (implica DSP potente), complicado y costoso. ¿Me estoy perdiendo algo muy básico aquí? ¿Existen algunas restricciones ambientales que se utilizan, en el caso de los teléfonos móviles, para simplificar el diseño de dichos circuitos y, por lo tanto, mantener los costos bajos?

Me acerco a esto desde el estudio de un monitor de bebé el-cheapo con función de "habla" de 2 vías, donde, en el problema de la retroalimentación es terrible. He intentado varias cosas, como reemplazar el micrófono electret, el tipo de altavoz de este dispositivo, sin éxito. Este códec de audio usado en este dispositivo aparentemente es ALC, pero gran parte de la superficie del chip está grabada, pero sé que el procesador es un Winbond ARM7. Tenía una pegatina brillante en la parte superior que logré raspar para revelar el número de pieza.

Hice esta misma pregunta antes aquí: dsp.stackexchange.com/questions/338/…
La supresión de retroalimentación también se usa en audífonos, con algoritmos avanzados que "etiquetan" el sonido producido para que puedan detectar que se está realimentando. Me pregunto qué tipo de pequeños chips usan.

Respuestas (4)

El algoritmo de procesamiento de audio que le interesa se llama "Cancelación de eco acústico" o AEC. Se usa más comúnmente en los teléfonos con altavoz para eliminar la salida del altavoz de la señal del micrófono. La mayor parte de este beneficio es para la persona al otro lado de la llamada telefónica, ya que no escuchará ecos de sí mismo.

Algunos teléfonos con altavoz baratos y no tan baratos no usan AEC. Tengo un altavoz Polycom que es "half dúplex". Lo que significa que cuando un lado está hablando, el otro lado está silenciado. Debido a esto, no hay posibilidad de que se produzcan ecos o comentarios. Desafortunadamente, esto también permite un "obstruccionismo": si un lado nunca se calla, el otro lado nunca puede interrumpir.

Hay muchos tipos de algoritmos AEC y casi todos están patentados. La mayoría de ellos involucran algún tipo de modelado, donde se crea un modelo de la "ruta de la señal acústica del altavoz al micrófono". Una vez creado, podemos predecir cómo el micrófono captará la salida del altavoz y, por lo tanto, eliminar esa señal del micrófono, dejando solo los sonidos previstos en la señal del micrófono.

Por lo tanto, este modelo descubriría cómo los sonidos se reflejan en las paredes y otras cosas en la habitación, etc. posición de personas y mobiliario, etc.).

Además del "modelo de habitación", se utilizan otros algoritmos de reducción de ruido. Si bien estos algoritmos no son técnicamente parte de AEC, no hay implementaciones útiles de AEC que no los usen. Normalmente hay algún tipo de puerta de ruido simple (o puerta de ruido multibanda). Por lo general, también se usan otros algoritmos, pero están patentados o se tratan como un "secreto comercial", ¡por lo que no puedo contarles sobre ellos! :(

La mayoría de los algoritmos AEC operan en un rango de frecuencia limitado, de 300 Hz a 3 KHz, que es el mismo rango de frecuencia que la mayoría de los teléfonos. Cada vez más, AEC de banda ancha se está volviendo popular con la llegada de los sistemas de teleconferencia/telepresencia de mayor ancho de banda.

Los algoritmos AEC son computacionalmente muy costosos y el AEC de banda ancha requiere varias veces más caballos de fuerza que las versiones más limitadas. No es raro que un solo DSP "común y corriente" solo pueda hacer 1 o 2 canales de AEC. Para un AEC de banda ancha de alta calidad, es posible que se requiera un solo DSP de alta potencia para un solo canal.

Los algoritmos AEC también son muy difíciles de implementar. En todo EE. UU., hay quizás solo 10 o 20 personas que tienen la capacidad de escribir una buena. Una persona muy inteligente que conozco acaba de escribir un algoritmo AEC de banda ancha y ¡le tomó más de un año!

Para un monitor de bebé de 2 vías, ¡recomiendo encarecidamente utilizar un enfoque semidúplex!

Gracias @David. Dada su descripción, es justo concluir que las implementaciones de AEC serían software DSP con licencia/basado en regalías, y es posible que no haya implementaciones FOSS razonablemente buenas aptas para el procesador de aplicaciones de uso general. Si bien no es 100% seguro, pero AEC suena como algo que podría implementarse como parte de algunos de los códecs VoIP de bajo ancho de banda, incluidos algunos FOSS. Si es así, ¿podrían ser utilizables?
Y, por cierto, para mi propósito, estoy de acuerdo en que un enfoque semidúplex suena 'suficientemente bueno' (y probablemente bastante simple). Me encontré con un buen documento técnico de Polycom sobre este tema.
@ icarus74 Es casi seguro que hay un AEC de código abierto en alguna parte. También hay una buena posibilidad de que viole alguna patente en alguna parte. Y es casi seguro que no sonará tan bien como una implementación "profesional". El AEC que se incluye con VOIP probablemente esté hecho para teléfonos normales y no para teléfonos con altavoz, ya que los teléfonos con altavoz requieren algo más sofisticado. Hay empresas que venden DSP preprogramados para AEC u otros enfoques basados ​​en licencias o regalías. No vale la pena comprar solo un puñado de estos DSP, ya que no están configurados para lidiar con esta cantidad baja.
Gracias @David. Entiendo el punto. Parece que va a ser semidúplex.
@user3624 Por curiosidad, ¿cuál es su opinión sobre el soporte AEC de speex? github.com/xiph/speexdsp/blob/…

Un enfoque que es muy común en los teléfonos con altavoz de bajo costo es ajustar la ganancia hacia abajo (posiblemente a cero) en cualquier "dirección" que tenga la señal aparente más baja en la entrada. Algunos teléfonos silenciarán el micrófono excepto cuando el nivel de audio en el micrófono sea más alto de lo que podría atribuirse a la retroalimentación del altavoz, en cuyo caso silenciarán el altavoz. Otros teléfonos usan un enfoque más adaptativo, cortando el camino más silencioso lo suficiente como para mantener la ganancia general del bucle de eco muy por debajo de uno, pero no tanto como para que ambas partes puedan hablar sin darse cuenta de que el otro está tratando de hacerlo.

La cancelación de eco perfecta es difícil, pero la combinación de una cancelación de eco razonablemente efectiva con la atenuación adaptativa de la ruta de señal 'más silenciosa' puede dar resultados que, subjetivamente, son casi tan buenos.

Gracias @supercat. Esto parece ser bastante similar al enfoque (semidúplex) sugerido anteriormente por David. Su respuesta me da algunas pistas valiosas sobre cómo podría implementarse esto. Para mi propósito, solo si puedo suprimir el terrible (/ insoportable) aullido que tiene actualmente el monitor de bebé, sería suficiente. Un ligero eco es tolerable.

Esta es una respuesta muy tardía, pero espero que ayude a algunos. Si es diseñador, puede usar IC de cancelación de eco de Microsemi, Cirrus Logic o Forte Media. Puede elegir su parte según sus requisitos de los sitios web del fabricante. No pude encontrar un IC de cancelación de eco que se pueda comprar por menos de $2 a 3000MOQ. Hay chips ARM de bajo costo que admiten la cancelación de eco de software hasta cierto nivel. Además, si tengo razón, muchas bibliotecas de transmisión de medios admiten la cancelación de eco.

Esto parece pretender ser justo lo que quieres

Interfaz de microteléfono con control de realimentación pdf .

Página HTML relacionada

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Interfaz de auricular de teléfono con control de retroalimentación Patente de Estados Unidos 5867573


Y otro modulador balanceado

ingrese la descripción de la imagen aquí

Y otro

ingrese la descripción de la imagen aquí. _______________________________________________

Dos métodos utilizados (¿fuera de ?) son

  • Modele la respuesta de la sala con un filtro multitoque y optimice la falta de correlación con la señal de entrada. Probablemente bien dentro de las capacidades de los DSP de gama alta y probablemente más bajo

  • La señal de cambio de frecuencia pasa de Mic a Spkr en una cantidad fija, por lo que cualquier ronda de "aullido" se desvía hacia los lados sucesivamente en frecuencia en cada paso. Demasiado cambio de frecuencia y todos ustedes se vuelven graciosos. Demasiado poco y todos ustedes aúllan. Esto solía hacerse con un IC multiplicador analógico de 4 cuadrantes de hardware y hoy en día sería una tarea de software fácil. - para valores de fácil que impliquen multiplicar señales en tiempo real juntas ;-).

Probablemente muy fácil una vez que entiendas lo que se requiere


Mi método 1 anterior es la figura 5 aquí

Versión HTML aquí

ingrese la descripción de la imagen aquí

ELLOS DICEN:

  • En la figura 5 se muestra una aplicación de refuerzo de sonido. Aquí no hay voz en el otro extremo para alimentar el modelo. El habla local se envía inmediatamente por el altavoz y es la única señal de entrenamiento disponible. El hecho de que la señal de entrenamiento esté correlacionada con el habla local (vista como ruido para el proceso de entrenamiento) proporciona un problema importante para el modelado basado en filtros adaptativos. Esto es especialmente cierto si se trata de mantener un modelo que sea preciso en un amplio rango de frecuencias.

    Para superar este problema, se introduce alguna forma de descorrelación (como un cambio de frecuencia). Esto ayuda al proceso de modelado de banda ancha pero agrega distorsión a la señal. Al igual que con la aplicación de teleconferencia, si el modelo no es preciso, se produce una mayor distorsión. La descorrelación, junto con cualquier distorsión añadida debida a un modelo inexacto, hace que este método sea menos atractivo para algunos lugares. La gran ventaja de este tipo de supresor de realimentación es que la ganancia añadida antes del margen de realimentación suele ser superior a 10 dB.

En cuanto a mi método 2, dice el mismo documento (y está de acuerdo conmigo en cuanto a los DSP, etc. hoy en día) y es muy divertido con demasiado tamizado.

  • Cambio de frecuencia

    El cambio de frecuencia se ha utilizado en los sistemas de megafonía para ayudar a controlar la retroalimentación desde la década de 1960. La retroalimentación se genera en partes de la función de transferencia donde la ganancia es mayor a 0 dB. La función de transferencia de altavoz a micrófono, cuando se mide en una habitación, tiene picos y valles en la respuesta de magnitud. En el cambio de frecuencia, todas las frecuencias de una señal se desplazan hacia arriba o hacia abajo en algún número de hercios. La idea básica detrás de un cambiador de frecuencia es que a medida que se genera retroalimentación en un área de la respuesta, eventualmente se atenúa en otra área. El variador de frecuencia continúa moviendo la frecuencia de retroalimentación generada a lo largo de la función de transferencia hasta que alcanza una sección que atenúa efectivamente la retroalimentación. La eficacia de la palanca de cambios depende en parte de la función de transferencia del sistema.

    Vale la pena señalar que esto no es una "transformación musical", ya que el cambio de frecuencia no conserva la relación entre los armónicos de la señal. La voz de una persona comenzará a sonar mecánica a medida que aumenta la cantidad de turno. Si bien la "distorsión audible" depende de la experiencia del oyente, la mayoría está de acuerdo en que el cambio de frecuencia debe ser inferior a 12 Hz.

    ¿Cuánta ganancia adicional antes de la retroalimentación se puede esperar razonablemente? La respuesta corta es solo un par de dB. Hansler1 revisa algunos resultados de investigación que indican que el aumento real de la ganancia depende del tiempo de reverberación y del tamaño del cambio de frecuencia. Usando cambios de frecuencia en el rango de 6 a 12 Hz, una sala de conferencias con una reverberación mínima se benefició con un poco menos de 2 dB. Una cámara ecoica con un tiempo de reverberación de más de 1 segundo podría beneficiarse en casi 6 dB con el mismo cambio de frecuencia.

    El procesamiento de señales digitales permite técnicas de desplazamiento de frecuencia en una gran variedad de aplicaciones. Cuando se usa junto con otros métodos, como el modelado de filtro adaptativo mencionado anteriormente, puede proporcionar un beneficio aún mayor. Sin embargo, los artefactos debidos al cambio de frecuencia son prohibitivos en áreas donde se desea una señal pura. Los músicos son más sensibles a los cambios de frecuencia, así que piénselo dos veces antes de colocar un cambiador en la ruta del altavoz del monitor.

Cambio de frecuencia


Mi método 2 es probablemente la figura 27 aquí MC1494 usó un modulador balanceado en la figura 27. Brain dice que pueden usar dos e invertir la señal a una entrada de uno para obtener solo la suma o la diferencia y no ambas. Tenga en cuenta que el texto copiado a continuación dice que la ganancia en ganancia es pequeña. Sería interesante saber qué sucede si se dispersa aleatoriamente el cambio de frecuencia.

Más pronto.

Gracias @Russell. Cualquier posibilidad de que puedas 'tontar' tu explicación (especialmente el método 2) un poco. Si hay un artículo que lo explique, sería genial. Espero que algún IC manf tenga una nota de aplicación para algo como esto. Usted escribió "... hoy en día sería una tarea de software fácil...", ¿como software en DSP o uC/uP genérico?
Gracias de nuevo @Russell. Mi mente simple va a tardar un buen rato en comprender o envolver esto, ya que mis fundamentos de teoría de señales están tan oxidados como pueden estar. Voté y aceptaré la respuesta una vez que la entienda un poco más.
@Russell La mayor parte de lo que describió aquí no funciona para teléfonos con altavoz. Para aquellos, el acoplamiento acústico ha terminado en un período de tiempo demasiado grande para que los métodos que mencionas funcionen. Lo que dice sobre la "Figura 5" está cerca, pero se trata más de la supresión de retroalimentación que del control de eco. El cambio de frecuencia no funciona para los teléfonos inteligentes. Ver mi respuesta para más información.
Esta respuesta realmente necesita ser recortada a las partes relevantes.