Array Signal Processing EE7780 Array Signal Processing Class p2c1: Diseño de arrays. Medidas de Rendimiento de Beamformers. Statistical Beamforming. Generalized Sidelobe Canceller (GSC) Problemas para la cuarta semana 11/28/2018 EE7780 Array Signal Processing clase p1c4 1
Diseño de Arrays Diseño de Arrays: Geometría: dependiendo de la aplicación: Señales que vienen de un plano en 180o: SLA. Señales que vienen por encima o debajo del array: UCA. Señales que vienen de todas las partes: SA. Frecuencia de trabajo: generalmente viene impuesta por el tipo de señal que queramos procesar. Por ejemplo, en audio puede ser desde 200Hz hasta 8kHz. La frecuencia de trabajo define la distancia entre elementos d. Apertura: se obtiene para una determinada resolución del array. Para ello debemos buscar el primer nulo del mainlobe del beampattern. Dependiendo de la geometría y del vector de pesos, el primer nulo se produce a diferente distancia angular. 11/28/2018 EE7780 Array Signal Processing clase p1c4 2
Diseño de Arrays Ejemplo: se desea diseñar un SLA para señales de frecuencia 2kHz. y resolución de 10o. La geometría es impuesta por la aplicación, en este caso nos dicen que es un ULA. La frecuencia de trabajo nos dicta la distancia entre elementos. En este caso l=c/f=343/2000=0.1715. d=0.08575m. La resolución tiene que ver con el primer nulo del beampattern. En Trees (pag. 48) esta distancia se define como 0.5BWNN (BeamWidth Null-to-Null). Para SLA con uniform weights (SOI perpendicular al array) se calcula analíticamente como: 11/28/2018 EE7780 Array Signal Processing clase p1c4 3
Diseño de Arrays Ejemplo (cont): Donde N es el número de elementos y d la distancia entre elementos. Nos piden una resolución de 10o o 10*3.14/180=0.1744rad. Por tanto el número de elementos debe ser 12: 11/28/2018 EE7780 Array Signal Processing clase p1c4 4
Diseño de Arrays Ejemplo (cont): Veamos si el beampattern tiene el nulo menor o igual a 10o. Usando la función de Matlab 11/28/2018 EE7780 Array Signal Processing clase p1c4 5
Diseño de Arrays Ejemplo (cont): Obtenemos el siguiente beampattern que cumple el requisito de diseño. 11/28/2018 EE7780 Array Signal Processing clase p1c4 6
Diseño de Arrays En el caso de otro tipo de array, busquen el el libro de Trees para ver si existe una función analítica (expresión matemática) para calcular el número de elementos K a partir del cálculo del primer nulo del beampattern. Otro método sería el graficar el beampattern para diferente número de elementos K y seleccionar el número de elementos a partir de la gráfica que satisfaga el requisito de resolución. 11/28/2018 EE7780 Array Signal Processing clase p1c4 7
Rendimiento de Beamformers Hasta ahora sabemos calcular la poténcia a la salida del beamformer. Existen diferentes medidas para evaluar y comparar el rendimiento de beamformers: Array Resolution: 0.5BWNN SNR: Signal to Noise Ratio. SINR: Signal to Interference plus Noise Ratio. Array Directivity and Directivity Index (DI). Array Gain against White Noise: Aw. Array Gain against Interference plus Noise: Ag. Vamos a explicar las medidas que no hemos visto hasta ahora. 11/28/2018 EE7780 Array Signal Processing clase p1c4 8
Rendimiento de Beamformers SNR: Signal to Noise Ratio: SNRi: Signal to Noise Ratio at the Beamformer input: SNRo: Signal to Noise Ratio at the Beamformer output (for a distortionless beamformer): 11/28/2018 EE7780 Array Signal Processing clase p1c4 9
Rendimiento de Beamformers SINR: Signal to Interference plus Noise Ratio: SINRi: Signal to Noise Ratio at the Beamformer input: SINRo: Signal to Interference plus Noise Ratio at the Beamformer output (for a distortionless beamformer): 11/28/2018 EE7780 Array Signal Processing clase p1c4 10
Rendimiento de Beamformers Otras definiciones útiles: SIRl: Signal to Interference Ratio for interference l: INRl: Interference to Noise Ratio for interference l: 11/28/2018 EE7780 Array Signal Processing clase p1c4 11
Rendimiento de Beamformers Array Directivity: Is the ratio between the beamformer output power due to the SOI and the beamformer output power due to interferences uniformly distributed over a sphere: In general we need to evaluate this expression for a particular array. However, for a SLA is D=||v||2 and it does not depend on the steering direction. 11/28/2018 EE7780 Array Signal Processing clase p1c4 12
Rendimiento de Beamformers Array Directivity (cont.): The Directivity is máximum for Delay-and-sum weights. Directivity Index: 11/28/2018 EE7780 Array Signal Processing clase p1c4 13
Rendimiento de Beamformers Array Gain against White Noise Es la ganancia del array considerando únicamente el ruido termal o incorrelado: Para un distortionless beamformer es: 11/28/2018 EE7780 Array Signal Processing clase p1c4 14
Rendimiento de Beamformers Array Gain against Interference plus White Noise Es la ganancia del array considerando las interferencia y el ruido termal o incorrelado: Para un distortionless beamformer es: 11/28/2018 EE7780 Array Signal Processing clase p1c4 15
Statistical Beamforming Hasta ahora hemos obtenido las matrices de correlación a partir de los steering vectors y las potencias de la SOI, interferencias y ruido. Sin embargo estos parámetros no están disponibles en todo momento. Por tanto debemos estimarlos a partir de los datos. Una manera de estimar directamente las matrices de correlación es usando la expresión: 11/28/2018 EE7780 Array Signal Processing clase p1c4 16
Statistical Beamforming Batch estimation. La expresión estima directamente la matriz de correlación de la SOI más la Interferencia y el Ruido. La expresión realiza un producto externo (outer product) de cada snap-shot, muestra o lectura de las señales a la salida del array (o entrada del beamformer). Cuando se han adquirido D muestras se divide la suma de productos externos por el número de muestras D. Este estimador es usado en muchas aplicaciones. 11/28/2018 EE7780 Array Signal Processing clase p1c4 17
Statistical Beamforming Otra expresión, que usa sample by sample estimation es: donde la matriz es calculada por cada nueva muestra que entra en el array y descarta la más vieja del cálculo de la matriz de correlacion. Hay que tener cuidado al principio de la estimación, debido a que la matriz puede resultar singular. 11/28/2018 EE7780 Array Signal Processing clase p1c4 18
Statistical Beamforming Una tercera opción, que usa sample by sample estimation es: similar al método anterior, pero con un factor de memoria/olvido donde le dá más peso a las muestras nuevas con respecto a las antíguas. Este método es usado en el método RLS. Hay que tener cuidado al principio de la estimación, debido a que la matriz puede resultar singular. 11/28/2018 EE7780 Array Signal Processing clase p1c4 19
Statistical Beamforming Las matrices de correlación son usadas para obtener la solución MVDR para el vector de pesos: También se usa para obtener el SINR y la ganancia del array: 11/28/2018 EE7780 Array Signal Processing clase p1c4 20
Statistical Beamforming Esto es debido a que se puede probar que para un distortionless beamformer se cumple: Para ampliar información acerca de estos métodos, por favor leanse el capítulo 4 de la tesis. 11/28/2018 EE7780 Array Signal Processing clase p1c4 21
GSC El Generalized Sidelobe Canceler es un método iterativo para obtener la solución MVDR para el vector de pesos sin necesidad de calcular la inversa de Ru. El diagrama de bloques se muestra en la siguiente figura: 11/28/2018 EE7780 Array Signal Processing clase p1c4 22
GSC Donde el vector de pesos es descompuesto en: 11/28/2018 EE7780 Array Signal Processing clase p1c4 23
GSC El vector wq se denomina el vector quiescent y es fijo. Generalmente se usa delay and sum para este vector de pesos. El quiescent vector impone la condición de distortionless response. La respuesta zq(t) es la respuesta quiescente: El vector wa se denomina el vector adaptivo y se calcula adaptativamente para minimizar la potencia de salida sin ninguna condición. Se suele usar los métodos adaptativos NLMS (Normalized Least Means Squares) o RLS (Recursive Least Squares). 11/28/2018 EE7780 Array Signal Processing clase p1c4 24
GSC La matriz B es la matriz de bloqueo del SOI (blocking matrix) y elimina la SOI en la rama inferior del GSC. La salida de la rama inferior o adaptiva es: La salida del GSC es: 11/28/2018 EE7780 Array Signal Processing clase p1c4 25
GSC El algoritmo NLMS obtiene la salida del beamformer así: El vector de pesos adaptivo es obtenido así: donde m es el step size y * significa congugado. 11/28/2018 EE7780 Array Signal Processing clase p1c4 26
GSC El algoritmo RLS obtiene la salida del beamformer así: El vector de pesos adaptivo es obtenido diferentemente e incluye expresiones intermedias como indica la siguiente página 11/28/2018 EE7780 Array Signal Processing clase p1c4 27
GSC 11/28/2018 EE7780 Array Signal Processing clase p1c4 28
Funciones de Matlab: DI 11/28/2018 EE7780 Array Signal Processing clase p1c4 29
Funciones de Matlab: DI 11/28/2018 EE7780 Array Signal Processing clase p1c4 30
Funciones de Matlab: Aw 11/28/2018 EE7780 Array Signal Processing clase p1c4 31
Funciones de Matlab: Ag 11/28/2018 EE7780 Array Signal Processing clase p1c4 32
Funciones de Matlab: SNRo 11/28/2018 EE7780 Array Signal Processing clase p1c4 33
Funciones de Matlab: SINRo 11/28/2018 EE7780 Array Signal Processing clase p1c4 34
Problema de la semana Implementar las funciones arriba indicadas. Un SLAy de 11 elementos tiene una SOI de ss2=1 y DOA desde +z. Tres interferencias con SIRs=30, 35, 40dB y DOAs (q , f )= (90o ,48o), (45o ,-48o), (75o ,190o). SNR=-10dB. fbin=2kHz. Obtener los beampatterns en 2 y 3D. Indicar las interferencias como vectores. Calcular SNRo para v delay-and-sum y MVDR. Comparar resultados y comentarlos. Calcular Aw y Ag para v delay-and-sum y MVDR. Comparar y comentar. Calcular DI para v delay-and-sum y MVDR. Comp, y coment. 11/28/2018 EE7780 Array Signal Processing clase p1c4 35
Fin de la clase 11/28/2018 EE7780 Array Signal Processing clase p1c4 36