Download - TESIS DE GRADO2 - Uniandes
1
PROYECTO DE GRADO
ESTUDIO DE MICROFONOS ADAPTIVOS, CANCELACION DE RUIDO BASADO EN LA TECNICA DE BEAMFORMING
ANDREI AMAYA PULIDO
UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERIA
DEPARTAMENTO DE INGENIERIA ELECTRICA Y ELECTRONICA BOGOTA D.C.
2004
2
ESTUDIO DE MICROFONOS ADAPTIVOS, CANCELACION DE RUIDO BASADO EN LA TECNICA DE BEAMFORMING
ANDREI AMAYA PULIDO
Proyecto de Grado presentado como requisito Parcial para optar por el título de
Ingeniero Electrónico
Asesor FREDY E. SEGURA QUIJANO
UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERIA
DEPARTAMENTO DE INGENIERIA ELECTRICA Y ELECTRONICA BOGOTA D.C.
2004
3
PAGINA DE ACEPTACION
Nota de Aceptación
____________________________________ ____________________________________ ____________________________________ ____________________________________
____________________________________ Presidente del Jurado
____________________________________ Jurado
____________________________________ Jurado
4
A mi familia, por que no habría sido lo mismo sin su invaluable esfuerzo,
colaboración y apoyo
5
AGRADECIMIENTOS
Quiero manifestar mi agradecimiento a todos aquellos que
me apoyaron y acompañaron en el transcurso de mi carrera, a mis
amigos y compañeros. A quienes me formaron académicamente y
me abrieron fronteras, mis profesores y tutores. Al CCU y sus
estudiantes asociados, de quienes aprendí a vivir y compartir
nuevas experiencias. Un agradecimiento muy especial a Maria
Teresa Murillo, quien más que una amiga ha sido una persona
incondicional y una gran tutora. A Luz Mary Ramos, quien ha
confiado en mí y me ha acompañado en este camino sin dejarme
caer. También quiero agradecer de manera especial al Asesor de
este proyecto, Fredy Enrique Segura Quijano quien sin su apoyo y
colaboración no hubiese sido posible este trabajo.
6
TABLA DE CONTENIDO
RESUMEN....................................................................................................................................... 8
RESUMEN....................................................................................................................................... 8
1. INTRODUCCION ....................................................................................................................... 9
2. BASE TEORICA ....................................................................................................................... 10 2.1 SEÑALES EN TIEMPO DISCRETO .................................................................................. 10 2.2 CARACTERISITICAS DE LAS SEÑALES DE VOZ ......................................................... 10 2.3 FILTROS DIGITALES........................................................................................................ 11
2.3.1 FILTROS FIR.................................................................................................................. 11 2.3.2 CARACTERISTICAS ADICIONALES DEL FILTRO FIR.................................................. 13
2.4 FILTROS ADAPTIVOS....................................................................................................... 13 2.4.1 Filtro Wiener................................................................................................................... 13 2.4.2 Algoritmos de Adaptación LMS, NLMS. ........................................................................... 14 2.4.3 Características que se deben tener en cuenta al escoger un algoritmo adaptivo................ 15
2.5 CANCELADOR DE RUIDO ADAPTIVO ........................................................................... 16 3. BEAMFORMING...................................................................................................................... 17
3.1 FUNDAMENTOS DE BEAMFORMING ........................................................................... 17 3.1.1 Introducción: ............................................................................................................ 17 3.1.2 Descripción general de Beamforming: ............................................................................ 17
3.2 APLICACIONES ................................................................................................................. 18 3.3 SOLUCIONES INVESTIGADAS ....................................................................................... 19
3.3.1 Suma y retrasos (Sum & delay, Standard fixed beamforming)........................................... 19 3.3.2 Beamformer Convencional............................................................................................... 19 3.3.3 Cancelador de lóbulos laterales (Sidelobeband canceler)................................................. 20 3.3.4 Griffiths- Jim beamformer................................................................................................ 21
4 DISEÑO DE LOS ALGORITMOS............................................................................................ 22 4.1 ANALISIS Y DISEÑO DEL SISTEMA ESCOGIDO .......................................................... 22
4.1.1 Análisis General .............................................................................................................. 22 4.1.2 Diseño Del Sistema.......................................................................................................... 24 4.1.3 Diseño para 3 y 4 micrófonos .......................................................................................... 29
5 SIMULACIONES ....................................................................................................................... 31 5.1. DESCRIPCION DEL PROGRAMA EN MATLAB ........................................................... 31 5.2 DESCRIPCIÓN DE LAS 3 VENTANAS DEL PROGRAMA ............................................. 32
5.2.1 Primera ventana:............................................................................................................. 32 5.2.2 Segunda ventana.............................................................................................................. 33 5.2.3 Tercera ventana............................................................................................................... 34
5.3 PRUEBAS REALIZADAS ................................................................................................... 35 5.4 RESULTADOS..................................................................................................................... 39
7
LISTADO DE FIGURAS
Figura1. Filtro transversal FIR.......................................................................................... 12 Figura 2 Diagrama de bloques cancelador de ruido.......................................................... 16 Figura 3 . Haz que se desea generar con beamforming....................................................... 17 Figura 4 . Diagrama de bloques, para beamforming. ........................................................ 17 Figura 5. Sum and delay beamforming. .............................................................................. 19 Figura 6. Beamformer Convencional.................................................................................. 20 Figura 7. Sidelobeband canceler [1]. ................................................................................. 20 Figura 8. Griffits- Jim beamformer .................................................................................... 21 Figura 9 . Diagrama de bloques beamformer de Griffiths-Jim........................................... 22 Figura 10. Aliasing Espacial.............................................................................................. 24 Figura11. Diagrama señales incidentes en el beamformer de Griffiths-Jim ....................... 25 Figura 12. Respuesta en magnitud y fase del filtro diseñado............................................... 27 Figura 13. Respuesta en magnitud y fase del filtro diseñado............................................... 30 Figura 14.Primera ventana del software diseñado.............................................................. 32 Figura 15. Segunda ventana del software diseñado beamformer convencional ................... 33 Figura 16. Segunda ventana del software diseñado beamformer sum and dealy.................. 34 Figura 17. Tercera ventana del software diseñado beamformer de Griffiths-Jim ................ 34 Figura 18 . Para Angulo de incidencia del ruido=90° ........................................................ 35 Figura 19 . Para Angulo de incidencia del ruido=30° ........................................................ 35 Figura 20 . Para Angulo de incidencia del ruido=48° ........................................................ 36 Figura21 . Para Angulo de incidencia del ruido=14° ......................................................... 36 Figura 22. Incidencia varias señales ruidosas.................................................................... 37 Figura 23. Incidencia Ruido Correlacionado ..................................................................... 37 Figura24. Recuperación de la señal de voz......................................................................... 38
8
RESUMEN
En este documento se presenta el estudio y diseño de beamforming, técnica para
mejorar la directividad en arreglos de sensores (aplicada en este caso a señales de
voz). Se escoge uno de los algoritmos estudiados, con el objetivo de comprobar las
bondades de beamforming. Se realiza un diseño de esta técnica, buscando un buen
desempeño y facilidad algorítmica; para lograr una futura implementación de
hardware en tiempo real. Para mostrar los resultados se diseño un software en
Matlab con una interfase gráfica, que facilita la comprensión y comparación de los
algoritmos estudiados, por cualquier tipo de usuario.
Palabras Clave – Arreglos de micrófonos, microphone array beamforming,
beamforming adaptivo, Smart antennas, Directional Microphone Array Processing.
9
1. INTRODUCCION
El mejoramiento en la recepción de señales y la cancelación de ruido han sido tema
de estudio por muchos años. Han surgido muchas técnicas para tratar este problema,
una de ellas se basa en la utilización de varios sensores en un mismo arreglo, para
lograr la cancelación o atenuación de ruidos no deseados.
La técnica de Beamforming utiliza un arreglo de sensores para cumplir con su
objetivo. Su estudio data de hace ya muchos años y es utilizada en diversos campos
entre ellos comunicaciones, tratamiento de señales y biomédica. [1-9]
Esta técnica tiene la bondad de realizar un tratamiento espacial de una señal
recibida; además de realizarlo en tiempo y frecuencia [1]. Es decir, con esta se logra
recibir mucho mejor en una dirección específica, eliminando señales provenientes de
otras direcciones, también se eliminan señales de frecuencias diferentes a las
deseadas. La determinación de la dirección de recepción se realiza ya sea buscando
una señal patrón, una potencia requerida o especificando la dirección deseada. La
directividad y cancelación de ruido logrados con este tipo de soluciones son bastante
buenos.
A continuación se presenta el estudio que se hizo de esta técnica aplicada a señales
de voz, se enuncian algunas de las soluciones estudiadas, se profundiza en la
propuesta de L.J. Griffiths y C.W. Jim [2] , la cual es mejorada por Marcel Joho y
George S. Moschytz [3]. Posteriormente sé amplio el diseño realizado por Marcel
Joho y George S. Moschytz para 2 micrófonos a 3 y 4 y por último se muestran los
resultados obtenidos.
10
2. BASE TEORICA
2.1 SEÑALES EN TIEMPO DISCRETO
En el mundo real las señales como la voz, son análogas y se presentan en una forma
continua. En la actualidad estas señales continuas son representadas mediante
secuencias de números discretos.
En estas secuencias, cada valor representa un valor instantáneo de la señal continua.
Estos valores son tomados en periodos de tiempo regulares, conocidos como el
tiempo de muestreo, Ts.
Por ejemplo tenemos una señal continua x(t). Para procesar esta señal primero se
debe convertir esta señal a tiempo discreto. Cada valor en el vector representa el valor
instantáneo de la onda continua en intervalos de tiempo múltiplos del tiempo de
muestreo Ts. La secuencia de valores es llamada x(n). Así:
X(n)= x(Ts)
2.2 CARACTERISITICAS DE LAS SEÑALES DE VOZ
Se desea trabajar con señales de voz, algunas características de estas señales son:
Señales de banda ancha en un rango de frecuencias entre (400 Hz y 6000 Hz);
también son señales no estacionarias y pueden provenir de diferentes direcciones.
En intervalos cortos de tiempo, entre (30 y 40 ms), estas señales se pueden
considerar semiestacionarias [5], de tal forma que un filtro adaptivo puede encontrar
una solución estable para filtrarlas.
Reverberación: Este es un problema que sucede cuando dos señales (casi) idénticas
llegan a nuestro oído con diferencias temporales (retardos) menores al tiempo de
11
integración del oído (50 ms como dato general, pero fuertemente dependiente de las
características del sonido), entonces nuestro sistema auditivo no las identificará como
dos señales independientes, sino que las integrará en una sola señal. Si el tiempo es
aun mayor entonces se conoce como ECO. Se define el tiempo de reverberación (T)
como el tiempo en que demora un sonido en disminuir 60 dB (o un millón de veces)
después de apagada la fuente sonora. Depende del tamaño de la sala, de los materiales
interiores y de la frecuencia.
2.3 FILTROS DIGITALES
Los filtros digitales son sistemas que alteran la información espectral de una señal
de entrada X(t) y producen una salida Y(t). Este tipo de filtros es implementado en
circuitos digitales o en programas de computador y operan sobre una secuencia de
números que son obtenidos por el muestreo de ondas continuas.
Existen dos tipos básicos de filtros digitales, y estos son los recursivos y los no
recursivos. Son también conocidos como filtros de respuesta infinita (IIR) y los de
respuesta finita (FIR), respectivamente. A continuación se hará una descripción de los
filtros de tipo FIR, los cuales son objetivo de esta tesis.
2.3.1 FILTROS FIR
Los filtros, que se desean diseñar en este trabajo son de tipo FIR. Se escogen de
este tipo, por las siguientes características:
• Es un filtro no recursivo, es decir tiene una respuesta finita al impulso, esto
significa que el efecto de condiciones iniciales a la salida del filtro desaparece,
lo que no ocurre con los de tipo IIR.
• Su implementación es sencilla.
12
• La función de transferencia de este tipo de filtros no contiene polos por lo
tanto es bastante estable.
• Producen una respuesta en fase lineal, lo que evita distorsiones en frecuencia
[7].
El diagrama de bloques de un filtro FIR transversal es el Siguiente:
Figura1. Filtro transversal FIR La salida de este filtro se puede caracterizar con la siguiente ecuación de diferencias:
)()(y(n)0
inxnwN
ii −= ∑
= (1)
En donde iw son los pesos del filtro y )( inx − es la señal de entrada. La función de transferencia es obtenida de la siguiente manera:
iN
ii zw −
=∑=
0H(z)
Una de las características importantes que tiene este tipo de filtro es que no posee
polos por lo tanto se puede considerar como un filtro muy estable. Esto no sucede
con los filtros de tipo IIR. Por lo tanto son muy importantes en el estudio que se
realizará.
13
2.3.2 CARACTERISTICAS ADICIONALES DEL FILTRO FIR
Algunas características adicionales que hacen que el filtro FIR sea la mejor opción
para el caso de estudio. Cuando un filtro FIR se utiliza para filtrado adaptivo se
presentan estas características [9]:
• El error cuadrático medio para un filtro transversal es una función cuadrática
de los pesos del filtro.
• La superficie de error es un paraboloide con sólo un mínimo, y por ello, la
búsqueda del error cuadrático medio mínimo es relativamente sencilla.
• Asegurando que los coeficientes del filtro estén acotados, se puede controlar
fácilmente la estabilidad del filtro.
• Existen algoritmos para la actualización de los coeficientes simples y
eficientes.
• Las prestaciones de estos algoritmos son perfectamente conocidas en términos
de convergencia y estabilidad.
2.4 FILTROS ADAPTIVOS 2.4.1 Filtro Wiener El filtro de Wiener es un es una clase especial de filtro FIR transversal. Es construido
a partir de una función de costos llamada error cuadrático medio (MSE). Con este
tipo de filtros se busca que los pesos del filtro FIR reduzcan al mínimo el (MSE).
Dada la salida del filtro FIR eq.(1), se define el MSE como:
( ) ]))([()]([(n) 22 nyndEneE −==ξ (2)
Donde d(n) es la señal deseada y y(n) es la salida del filtro.
La función de costos puede ser expresada de la siguiente forma:
RwwpwndE TT +−= 2)]([(n) 2ξ (3)
14
Donde:
)]()([(n) ndnxEp = es la correlación cruzada entre la señal deseada y la
entrada del filtro.
)]()([(n) nxnxER T= Es la matriz de auto-correlación de la señal de
entrada.
Cuando se utiliza un filtro FIR para la implementación, la función de costos es una
función cuadrática N-dimensional. El mínimo de esta función se puede hallar
calculando el vector gradiente relacionado con los pesos del filtro e igualándolo a
cero así:
0
...
1,...,1,00
110
=∇
⎥⎦
⎤⎢⎣
⎡∂
∂∂
∂∂
∂=∇
−==∂
∂
−
ξ
T
N
i
www
Niparaw
Evaluando está expresión, se puede hallar el valor optimo de los pesos que hacen que
la función de costos (MSE) sea mínima.
pRw
pRw1
0
0 022−=
=−
Para llegar a esta solución existen diversos algoritmos de adaptación, entre ellos el
LMS y NLMS:
2.4.2 Algoritmos de Adaptación LMS, NLMS.
El algoritmo LMS es uno de los más conocidos para adaptación de filtros, este
tiene la siguiente fórmula de adaptación:
)()(2)()1( nxnenwnw µ+=+ (4)
15
En esta fórmula µ es el parámetro constante que determina la velocidad de
convergencia del algoritmo, es conocido como el paso del algoritmo. Este parámetro
debe ser bien definido para que el algoritmo logre su objetivo, ni muy pequeño para
que el algoritmo se demore mucho en converger a la solución, ni muy grande para
que no se logre una buena solución.
Existe otro algoritmo, en el cual se hace cambiar la velocidad de convergencia
respecto a la potencia de la señal de entrada y es conocido como NLMS, este utiliza
la siguiente función de actualización de pesos:
)()()()1( nxnnwnw µ+=+ (5) Se define µ(n) para que se actualice con cada iteración de la siguiente manera:
Ψ+=
xxn T
µµ )( (6)
El parámetro µ sirve para dar velocidad de convergencia al algoritmo y ψ para que no
halla división por cero en caso de que la entrada tenga un valor de cero.
2.4.3 Características que se deben tener en cuenta al escoger un algoritmo adaptivo
Existen tres conceptos principales en la medida de las prestaciones de un algoritmo
adaptivo, estas fueron evaluadas mas adelante para escoger el mejor algoritmo que se
utiliza en el desarrollo de una de las técnicas de beamforming que se desarrollaran:
Complejidad (computacional): definida como el número de operaciones que han de
realizarse en cada instante para implementar el algoritmo adaptivo; generalmente es
un importante factor para determinar si la implementación en tiempo real resulta
viable.
16
Velocidad de convergencia: la tasa a la que el filtro adaptivo converge a la solución
de Wiener. Desafortunadamente, la velocidad de convergencia es inversamente
proporcional a la complejidad.
Desajuste: mide la diferencia entre la solución de Wiener y la obtenida con el
algoritmo adaptivo. Generalmente, el desajuste es inversamente proporcional a la
velocidad de convergencia y a la complejidad.
2.5 CANCELADOR DE RUIDO ADAPTIVO
Figura 2 Diagrama de bloques cancelador de ruido
Los sistemas de cancelación de ruido utilizan básicamente la estructura antes
expuesta (filtro wiener). Este sistema recibe una señal S sumada con ruido J. Se
desea limpiar la señal S del ruido J y para lograrlo el sistema debe recibir otra señal
correlacionada a la señal ruidosa, con la cual el filtro adaptivo trata de generar una
señal lo más parecida al ruido, esta es restada a la señal recibida y de esta manera se
obtiene una señal libre de ruido.
Este sistema requiere una señal de referencia correlacionada con el ruido que es
difícil de encontrar por las características aleatorias del ruido, por ello este filtro es
“algo ideal”.
17
3. BEAMFORMING
3.1 FUNDAMENTOS DE BEAMFORMING 3.1.1 Introducción: Beamforming debe su nombre a que con este tipo de sistemas se conforma un haz de
recepción o transmisión en forma de punta. Este haz indica en que sitios se recibe o
transmite mayor o menor energía. Se busca que este haz sea lo más directivo posible,
en la dirección deseada, de esta manera se realiza un filtrado espacial, eliminando
señales a las cuales el haz no apunte. Para conformar el haz se utilizan arreglos de
sensores y un algoritmo que realiza un tratamiento de la señal, en el caso de
tratamiento de voz estos sensores son micrófonos.
Figura 3 . Haz que se desea generar con beamforming
3.1.2 Descripción general de Beamforming:
La señal que se desea recuperar o a la que se le quiere hacer el filtrado espacial incide
en una dirección determinada en el arreglo de micrófonos, esta es sumada a señales
no deseadas provenientes de otras direcciones. Se desean eliminar estas señales
ruidosas y obtener la señal libre de ruido, para tal propósito se aplica una técnica de
beamforming tal como se muestra en la siguiente figura.
Figura 4 . Diagrama de bloques, para beamforming.
BEAMFORMING
18
3.2 APLICACIONES Beamforming tiene una gran diversidad de aplicaciones, en varios campos de acción,
entre ellas se encuentran:
• Localización de fuentes de ruido. Con beamforming se puede localizar un
punto en el espacio, se puede estimar la posición a través de los retardos que
se reciban de las antenas es decir de las diferencias de fase de la señal
recibida.
• La medida a distancia en entornos donde es difícil o peligroso medir (túneles
de viento).
• Antenas inteligentes (BTS) Beamforming: El enfocamiento especial de
señales correlacionadas, beamforming con tecnología NLOS es una gran
herramienta que mejora la calidad de servicio de telefonía celular.
• Detección de la señal eléctrica del corazón de un bebe, dentro del vientre de la
madre.
• Periféricos multimedia, mejoran la grabación y las aplicaciones como
programas de dictados.
• Elaboración de mapas acústicos de vehículos completos o componentes para
el diagnostico de maquinas.
• Otra de las aplicaciones encontradas es la utilización de estos dispositivos en
salas de conferencias, lo que se busca es la grabación y amplificación de la
voz de los espectadores, eliminando al máximo el ruido de fondo. En esta
aplicación el orador o cualquiera de los oyentes se puede mover y el arreglo
de micrófonos enfocara a quien se quiere oír, sin la necesidad de un
movimiento físico del arreglo o la interacción del usuario.
19
3.3 SOLUCIONES INVESTIGADAS
A continuación se hará la descripción de algunas de las técnicas existentes que
utilizan beamforming para la cancelación y/o atenuación del ruido: 3.3.1 Suma y retrasos (Sum & delay, Standard fixed beamforming)
Esta técnica de beamforming es la más simple de todas, se basa en la recepción de la
señal mediante un arreglo de sensores y el único tratamiento que se hace, son los
retrasos de las señales en cada sensor de acuerdo a la dirección de arribo de la señal
deseada, para luego realizar una sumatoria de esos resultados y así lograr disminuir
los ruidos.
Figura 5. Sum and delay beamforming.
Tiene la ventaja de ser de fácil implementación. En las investigaciones hechas se
encontró que este sistema producía una mejora en la relación señal a ruido respecto al
uso de un solo micrófono. [3]
3.3.2 Beamformer Convencional
Esta técnica se basa en la actualización de los pesos de cada canal de los micrófonos
del sistema “sum & delay”, mediante un algoritmo adaptivo, de esta forma se logra
captar mejor en determinadas direcciones que en otras [1]. El inconveniente que
existe para señales de voz, es que con este tipo de técnica se debe conocer la señal
deseada, lo cual rara vez sucede en tratamiento de Voz.
20
Figura 6. Beamformer Convencional.
Nota: Con cada iteración se actualizan los pesos de los canales mejorando el patrón
de directividad
3.3.3 Cancelador de lóbulos laterales (Sidelobeband canceler)
Este sistema utiliza un filtro adaptivo el cual produce que las señales fuertes se
eliminan así mismas y las débiles pasen en otros ángulos con ganancia unitaria. El
ruido debe ser mayor a la señal para poder ser eliminado[1].
Figura 7. Sidelobeband canceler [1].
El inconveniente que se presenta, es que este tipo de sistemas tiene amplificadores,
filtros, detectores de señal, que producen ruidos pequeños. La señal que se desea
obtener puede ser fuerte comparada a estos ruidos y debido al funcionamiento del
21
sistema, la señal deseada se puede cancelar a si misma [2], esta es una gran
desventaja respecto a los otros métodos 3.3.4 Griffiths- Jim beamformer
El diagrama de bloques de este beamformer es el siguiente:
Figura 8. Griffits- Jim beamformer
Esta técnica es mucho más avanzada que las anteriores, combina la de suma y
retrasos (sum & delay) con el filtrado adaptivo y produce una mejor relación señal a
ruido que la de suma y retrasos [4].
Nota: Es un sistema bastante flexible, se divide en bloques que se pueden modificar
para mejorar la respuesta del beamformer.
22
4 DISEÑO DE LOS ALGORITMOS
4.1 ANALISIS Y DISEÑO DEL SISTEMA ESCOGIDO
4.1.1 Análisis General
El sistema que se escogió para diseñar, es el de Griffiths-Jim, también conocido
como GSC (Generalizad Sidelobe Canceler), por sus mejores características,
respecto a los otros.
Para poder analizar este sistema, se comenzará por decir que una señal S(t)
deseada y un ruido J(t) inciden en el arreglo de micrófonos. Produciendo las señales
am=Sm+Jm
Figura 9 . Diagrama de bloques beamformer de Griffiths-Jim
Este sistema consiste de M sensores (micrófonos). Las señales recibidas (am) son
transformadas por una matriz de bloqueo (B de MxM) en varios canales (Xi). X1 es
el canal principal, contiene la suma de todas las señales recibidas (am). Es importante
saber que la señal deseada debe incidir al mismo tiempo en todos los micrófonos o ser
tratada para lograrlo, por ejemplo: mediante retrasos (sum and delay) [5].
La matriz de bloqueo B se utiliza para obtener una referencia del ruido. Esta matriz
debe ser capaz de bloquear al máximo la señal deseada y dejar pasar la señal ruidosa
a los filtros adaptivos.
23
(X2… Xm) son canales que tienen una señal correlacionada con el ruido.
Dependiendo de la matriz B, estos canales se pueden obtener fácilmente mediante
restas entre canales contiguos.
H1 es el filtro digital principal y debe ser diseñado de tal manera que se conserve la
señal deseada sin ninguna distorsión. De la escogencia de este filtro, depende
fuertemente el error en estado estable en la adaptación de los demás filtros [3].
(H2… Hm) son filtros adaptivos digitales, que buscan generar una señal que
cancele el ruido presentado en el canal principal. Utilizando notación Matricial, los
canales y las señales se representan así:
X(t)=(X1(t) … Xm(t))T y a(t)=(a1(t) ... am(t))T (7)
Los canales se obtienen de la transformación de las señales recibidas mediante la
matriz de bloqueo así:
Mmtabt i
M
iim ...1)()( xó a(t)BX(t)
1,m ==⋅= ∑
= (8)
Y la salida del sistema es la siguiente:
∑=
−=M
mm tytyty
21 )()()( (9)
Donde: mmm xHy ⋅= , Hm es la función de transferencia del filtro H del canal m. La salida del canal principal 1y , depende de las dos señales incidentes (ruido y señal deseada) de la siguiente manera.
)()(1 JfSgy +=
Por lo tanto para lograr la cancelación del ruido, se debe cumplir que:
∑=
=M
mm tyJf
2)()(
24
4.1.2 Diseño Del Sistema
Para poder exponer fácilmente el método de diseño, primero se utilizará un arreglo
de 2 micrófonos, posteriormente se ampliará a 3 y 4 micrófonos.
4.1.2.1 Distancia entre micrófonos y frecuencia de muestreo
Debido a las características de las señales de voz, la frecuencia de muestreo que se
escoge para realizar una buena recuperación de la voz, es de 22050 Hz. Para evitar el
aliasing espacial se debe escoger una distancia entre micrófonos menor a λ /2 donde λ es la longitud de onda de la señal de voz.
Figura 10. Aliasing Espacial
ALIASING ESPACIAL: Creación de lóbulos laterales por una distancia muy grande
entre micrófonos.
Para una señal que venga en una dirección θ de 90º o –90º. Se desea tener una
diferencia en muestras, entre micrófonos, de N= 4 como mínimo. Por lo tanto para
V=350 m/seg. (Velocidad del sonido), se obtiene:
d.m= (N*(1/fs)*v/sen (θ))= 0.0635 m.
Esta distancia cumple los requisitos antes expuestos para frecuencias razonables de la
señal de voz entre (300 Hz y 4000Hz.).
25
4.1.2.2 Diseño de los filtros:
Para diseñar los filtros digitales (H1… Hm.), se hará el análisis de la función de
transferencia del sistema, de allí se obtendrán las ecuaciones de los filtros. Se
procurará que estos filtros tengan una respuesta tipo FIR y que la longitud de estos
sea pequeña para no realizar demasiadas operaciones y lograr un mejor diseño para el
uso en tiempo real.
4.1.2.2.1 Diseño de H1 (filtro principal)
Este filtro digital debe permanecer constante en el tiempo y se desea de tipo FIR
para que tenga una respuesta en fase lineal y no se produzcan distorsiones en
frecuencia.
Para diseñar este filtro supondremos lo siguiente: En el arreglo inciden dos señales:
un ruido J(t) a un ángulo θ y una señal sonora S(t) que incide perpendicularmente.
S(t) se desea recuperar libre de ruido.
Figura11. Diagrama señales incidentes en el beamformer de Griffiths-Jim
Se debe verificar que las ondas incidentes están lo suficientemente lejanas, para
considerarse como ondas planas.
26
Se define τ como: τ = (d.m.) sen(θ)/(v), el retraso en tiempo que sufre el ruido j por el
efecto de viajar un trayecto d.m. (distancia entre .Micrófonos.), a una velocidad (v)
del sonido.
Las señales recibidas por los micrófonos son las siguientes:
a1(t)=s(t)+j(t)
a2(t)=s(t)+j(t-τ)
Normalizando el retraso τ con la frecuencia de muestreo del sistema se obtiene:
d=τ/Ts. De esta manera se puede realizar la transformada Z asi:
a1(z)= s(z)+ j(z)
a2(z)= s(z)+ j(z) z-d
Utilizando la siguiente matriz de bloqueo, propuesta en [2]:
⎥⎦
⎤⎢⎣
⎡−
=1
111
21B Se obtiene la salida del sistema:
[ ])zH2(z)(1-)z(1(H1(z) j(z)21s(z)H1(z) Y(z) d-d- −+⋅+⋅= (10)
Nota: Para asegurar la cancelación del ruido el coeficiente que acompaña la señal
de ruido debe ser nulo, por lo tanto.
0)zH2(z)(1-)z(1H1(z) -d-d =−+⋅ (11) Dejando H2 en términos de H1 (Parámetro de diseño) se obtiene:
)z(1)z(1H1(z)H2(z) d-
-d
−+
⋅= (12)
El polo en )z(1 -d− es realmente indeseable en H2 debido a que no produciría una
respuesta tipo FIR, que es la que se desea implementar, de esta manera el filtro FIR
adaptivo H2 no convergería a una solución exacta, sino a una aproximación. Por lo
tanto H1 debe cancelar este polo.
De tal manera: )z(1H1(z) -d−=
27
4.1.2.2.2 Aclaraciones en el Diseño de H1
La variable (d) puede tener los siguientes valores enteros d=1, 2, 3,4, para
diferentes ángulos de incidencia. Así H1 debe ser un polinomio capaz de eliminar los
polos )z(1 -d− para los diferentes valores que pueda tener d.
Se realiza el estudio de 3 posibles implementaciones de H1, las pruebas dan el
siguiente resultado:
Tabla 1 Comparación de las posibles soluciones de H1
Se escogió el filtro diseñado con el mínimo común múltiplo de los polinomios )z(1 -d−
para d=1, 2, 3, 4. El cual tiene la siguiente respuesta en magnitud y fase.
Figura 12. Respuesta en magnitud y fase del filtro diseñado
Se puede ver que el filtro produce una respuesta de tipo pasa altas, esto no afecta
demasiado, ya que las frecuencias bajas en señales de voz no son demasiado
importantes [3].
28
4.1.2.2.3 Diseño del filtro H2.
Este filtro es de tipo FIR adaptivo. Para el cálculo de N (tamaño del filtro) se
utilizo la ecuación (10):
H1 se tomo como el escogido en el enunciado anterior. Se tomo el valor d=4 ya que
es el máximo valor que se puede tener (es decir incidencia de la señal a 90° o -90°).
Se obtiene un valor de N=8 para el tamaño del filtro.
4.1.2.2.4. Estudio del algoritmo de adaptación
Se analizaron los siguientes algoritmos: LMS, NLMS, VSLMS, VSNLMS y RLS. A
continuación se muestra el cuadro comparativo:
Tabla 2 Comparación de los algoritmos de adaptación [5]
El algoritmo que se escoge es el NLMS, ya que presenta un menor error en estado
estable, una convergencia mucho más rápida que el LMS y es computacionalmente
eficiente (no requiere de muchas operaciones de multiplicación), para
implementación en tiempo real es una buena opción [1].
29
4.1.3 Diseño para 3 y 4 micrófonos
Las características de distancia entre micrófonos y frecuencia de muestreo
permanecen constantes.
Matriz De Bloqueo: Las matrices de bloqueo que se escogen son las siguientes: Para
3 y 4 micrófonos respectivamente.
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−−=
110011111
B 3
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−−
−=
1100011000111111
B 4
Se escogieron este tipo de matrices por que requiere menor número de operaciones en
la implementación que otras posibilidades, además con estas se logra una respuesta en
amplitud idéntica para cada canal [2], permitiendo que los filtros (H2, H3 y H4) se
adapten a valores idénticos.
Filtros y adaptación: Para diseñar los filtros (H1… H4), para 3 y 4 micrófonos, se
hallaron las funciones de transferencia de cada sistema y se obtuvieron soluciones
similares. El filtro principal H1 funciona igual. Y los filtros H3 y H4 funcionan de la
misma manera que el filtro H2 calculado anteriormente.
NOTA: La salida que se obtiene del sistema es: Y= S H1
Por lo tanto, para poder recuperar la señal es necesario implementar un filtro, a la
salida del sistema, que tenga una respuesta (1/H1). Este filtro (1/H1) por las
características de H1 es de tipo IIR y genera un ruido de alta frecuencia. Este ruido
es debido a que al iniciar la adaptación, parte del ruido pasa al final y el filtro de tipo
IIR almacena este ruido inicial, ya que la salida de (1/H1) depende de valores
anteriores. De esta manera se produce una oscilación en alta frecuencia indeseable.
Para corregir este ruido es posible diseñar un filtro pasa bajas, de tipo FIR. También
es posible que después del tiempo de adaptación, se inicialicen los búferes utilizados
30
para cada filtro y se mantengan los pesos ya actualizados. Para el caso de estudio se
implementaron las dos soluciones, dándole mayor confiabilidad al sistema.
Para diseñar el filtro pasabalas se utilizo el algoritmo de Remez, el cual fue simulado
en matlab, a continuación se presenta el código fuente: DISEÑO:
Se obtuvo la siguiente respuesta en frecuencia:
Figura 13. Respuesta en magnitud y fase del filtro diseñado
%CORRECCION alta frecuencia CON UN FILTRO
PASABAJAS
%DISEÑO DE UN FILTRO PASABAJAS
rp = 3; % Passband ripple
rs = 40; % Stopband ripple
fs = 22000; % Sampling frequency
f = [3500 4550]; % Cutoff frequencies
a = [1 0]; % Desired amplitudes
% Compute deviations
dev = [(10^(rp/20)-1)/(10^(rp/20)+1) 10^(-rs/20)];
[n,fo,ao,w] = remezord(f,a,dev,fs);
b = remez(n,fo,ao,w);
%para graficar respuesta en frecuencia del filtro
freqz(b,1,1024,fs);
title('Lowpass Filter Designed to Specifications');
31
5 SIMULACIONES 5.1. DESCRIPCION DEL PROGRAMA EN MATLAB
El programa se diseño de acuerdo a los parámetros antes vistos y en este se
pueden simular los siguientes algoritmos:
• CONVENCIONAL
• SUM AND DEALY
• IDEAL
• GRIFFITHS-JIM
Se crearon 3 ventanas para configurar y correr los algoritmos. En estas ventanas se
pueden ver los resultados de las simulaciones y algunos datos para comparar los
algoritmos.
Para comparar los algoritmos en las ventanas se presenta la siguiente información:
• SNR de un solo micrófono.
• SNR de la salida del algoritmo.
• MSE de un solo micrófono.
• MSE de la salida del algoritmo.
• Actualización de pesos y convergencia a una solución.
• Patrón de directividad 2D en polares (radio “ganancia”, ángulo “ángulo de
incidencia de las señales”)
• Patrón de directividad 3D en coordenadas cartesiana (eje X “ángulo de
incidencia de las señales, eje Y “frecuencia”, eje Z “ganancia del algoritmo en
3D”).
• Se puede escuchar las señales de salida de los algoritmos
• Se puede escuchar la señal de salida de un solo micrófono, para compararla
con la anterior.
32
5.2 DESCRIPCIÓN DE LAS 3 VENTANAS DEL PROGRAMA
Se crearon 3 ventanas para configurar y correr los algoritmos, a continuación
hará una descripción de estas:
5.2.1 Primera ventana:
En esta ventana se crean las señales recibidas por los micrófonos y se pueden
cambiar los siguientes parámetros:
• El tipo de ruido que se desea que incida en el arreglo
• El sonido que incida en el arreglo (señal que se desea libre de ruido)
• El ángulo de incidencia del ruido.
• El ángulo de incidencia del sonido (señal que se desea libre de ruido).
Figura 14.Primera ventana del software diseñado
33
5.2.2 Segunda ventana
En esta ventana se pueden correr los algoritmos convencional y sum and delay e
ideal, adicionalmente se puede configurar el algoritmo convencional en los
siguientes parámetros:
• mu: longitud de paso del algoritmo LMS utilizado en el beamformer
convencional
• n: El numero de épocas que se desean utilizar para correr el algoritmo
Figura 15. Segunda ventana del software diseñado beamformer convencional
34
Figura 16. Segunda ventana del software diseñado beamformer sum and dealy
5.2.3 Tercera ventana
En esta ventana se puede hacer correr el algoritmo de Griffiths-Jim. Esta ventana
se utiliza solo de visualización y no se pueden modificar parámetros
Figura 17. Tercera ventana del software diseñado beamformer de Griffiths-Jim
35
5.3 PRUEBAS REALIZADAS
Se hicieron cuatro pruebas al sistema de la siguiente manera:
PRUEBA 1
Se hicieron incidir en el arreglo, las siguientes señales:
Señal: senoidal de frecuencia = 500 Hz.
Ruido: tipo blanco gaussiano con media 0 y varianza 1
Se procedió a variar el ángulo de incidencia del ruido a los siguientes ángulos: 90°,
48°,30° 14°. Y algunos de los resultados obtenidos son:
Figura 18 . Para Angulo de incidencia del ruido=90°
Figura 19 . Para Angulo de incidencia del ruido=30°
36
Figura 20 . Para Angulo de incidencia del ruido=48°
Figura21 . Para Angulo de incidencia del ruido=14°
Análisis de resultados
En la gráfica de actualización de pesos se puede ver la convergencia de los pesos de
los filtros. En la gráfica del patrón de direcitvidad 2D, se puede ver como se crean
nulos en los ángulos de incidencia del ruido, los cuales eliminan la señal ruidosa.
Al examinar la gráfica del patrón de direcitvidad 3D, “eje x (ángulo de incidencia),
eje y (frecuencia 0 - 4000 hz), eje Z (ganancial del algoritmo en Db)”, se puede ver
que no hay mayores distorsiones en frecuencia, ni para la cancelación del ruido, ni
para la recuperación de la señal deseada.
37
PRUEBA 2 Para esta prueba se hicieron incidir varias señales ruidosas de diferentes ángulos en el
mismo arreglo.
Figura 22. Incidencia varias señales ruidosas
En esta prueba el sistema logra la adaptación, no logra la completa cancelación de
ruido, pero si una disminución significativa de este.
PRUEBA 3
Para esta prueba se hizo incidir ruido correlacionado a la señal deseada en un ángulo
de 48°:
Figura 23. Incidencia Ruido Correlacionado
El sistema presento inestabilidad, donde la potencia del sonido aumenta, debido a que
los filtros adaptivos también buscan la señal deseada.
38
PRUEBA 4 Se hizo incidir en el arreglo, una señal de voz ángulo de 0° y ruido del tipo blanco
gaussiano de media 0 y varianza 1 , a un ángulo de 90°.
Figura24. Recuperación de la señal de voz
En esta prueba Se logra una muy buena adaptación y se logra recuperar la mayor
parte de la señal deseada.
39
5.4 RESULTADOS
Se realizo la primera prueba para todos los algoritmos y se recogieron los siguientes
datos:
Tabla 3 Comparación de los algoritmos simulados
Se puede ver que el algoritmo que tiene mejores resultados es el de Griffiths-Jim, tal
como se esperaba, produciendo mejores SNR, además creando patrones de
directividad más directivos en el ángulo de incidencia de la señal deseada.
Beamforming Convencional presento mucho mejores resultados que sum and dealy,
se puede ver que la actualización de los pesos de cada canal, mejora la respuesta y se
logra dirigir mejor el patrón de directividad de acuerdo a la frecuencia de la señal de
entrada.
40
6 TRABAJO FUTURO Como trabajo futuro se propone:
Realizar un estudio del Hardware basado en varios dispositivos como: PLC, DSP,
PICS, FPGAS, para escoger uno y realizar una implementación.
Implementar el sistema Hardware para probar la potencialidad del sistema y probar
que tan bien se encuentra diseñado el algoritmo.
Se podría implementar un reconocedor de voz para detectar cierto patrón de voz y de
esta manera dirigir el patrón de directividad hacia la dirección de arribo de la señal de
voz.
También es posible implementar alguna técnica de DOA (diretion of arrival) basada
en la técnica de capón [10], para saber de donde proviene una señal y dirigir todo el
patrón de directividad generado por beamforming hacia allí.
Es posible que en un futuro se pueda mejorar el filtro de la salida (1/H1) para que
tenga una mejor respuesta. Se puede pensar una forma de solucionar esto, en donde
los ceros de H1 caigan dentro del circulo unitario, para que los polos de 1/H1
también caigan dentro del círculo unitario y de esta manera se disminuya el ruido en
alta frecuencia.
41
7 CONCLUSIONES
Se logró diseñar la técnica y se obtuvo un buen funcionamiento de esta. De las
simulaciones se puede decir que el sistema diseñado, responde de una manera
satisfactoria a ruidos de un amplio rango de frecuencias y que inciden en el arreglo de
diferentes direcciones. De acuerdo a los resultados obtenidos y a las características
del sistema diseñado, se piensa que es factible una futura implementación en tiempo
real.
También se realizaron comparaciones entre los algoritmos estudiados y el escogido,
de las cuales se puede decir que: El beamformer “convencional” presentó resultados
muy similares, en ciertas frecuencias al beamformer “suma y retrasos”.
Adicionalmente estos dos sistemas presentan distorsiones en frecuencia. Es decir el
patrón de recepción varía de acuerdo a cambios de frecuencia de la señal de entrada,
por lo tanto no son convenientes para señales de un amplio rango de frecuencias
como la voz.
Comparativamente el sistema de griffiths-jim, no presenta estas distorsiones en
frecuencia, este logra un cancelamiento y una recuperación de la señal deseada de una
manera uniforme para todo el rango de frecuencias requerido (en este caso señales
de voz), tal como se especificó en el diseño. Adicionalmente este sistema es una
estructura flexible debido a la separación del beamformer en un bloque fijo y una
adaptivo, lo que permite variar las características de cada bloque, para un mejor
funcionamiento.
42
Como se vio en las simulaciones, el sistema de Griffiths-Jim es bastante sensible al
ruido correlacionado, lo que se puede decirse es que este sistema no funciona bien en
caso de que se presenten ecos. Este sistema también puede causar un grado de
distorsión en la señal deseada, debido al fenómeno conocido como signal leakeage.
Este ocurre cuando la matriz de bloqueo falla para remover toda la señal deseada.
Esto puede ser realmente problemático ya que no se lograría una adaptación de los
pesos y la señal ruidosa no se cancelaría.
43
7. BIBLIOGRAFIA
[1] Bernard Widrow and Samuel .D Stearns, “Adaptative signal processing”.
Prentice-hall inc. 1985.
[2] L.J. Griffiths and C.W. Jim, “An Alternative Approach to
Linearly Constrained Adaptive Beamforming,” IEEE Trans. Ant. Prop., AP-30, Jan.
1982, pp. 27–34.
[3] Marcel Joho, George S. Moschytz ,“On The Design Of The Target-Signal Filter
In Adaptive Beamforming”. IEEE International Symposium on Circuits and Systems
ISCAS, Monterey, CA, June, 1998, vol. 5, pp. 166-169.
[4] Koen Eneman, “Demo Beamforming”. http://www.esat.
kuleuven.ac.be/~eneman/demo_beam/ demo_beam.html .
[5] Michael Hutson, “Acoustic Echo Cancellation Using Digital Signal Processing”.
The School of Information Technology and Electrical Engineering. The University of
Queensland.
[6]O.L. Frost III, “An Algorithm for Linearly Constraind Adaptive Array
Processing,” Proc. IEEE, vol 60, pp. 926-935,
Aug. 1972.
[7]T.W. PARKS, C.S BURRUS, “Digital Filter Design”. John Wiley & SONS,
Inc.1987.Aug. 1972.
[8] John Litva Titus K, “Digital Beamforming in Wireless Communications”. Lo
Edition. Date Published:September 1996 Publisher:Artech House, Incorporated.
44
[9] http://joey.uam.mx/dsp/notas2003/index.shtml
[10] Barrera G. Claudia P “Prototipo para Estimación de Dirección de Arribo Implementado en Audiofrecuencia”. Pontificia Universidad Javeriana Bogota Colombia. 2002