Laboratorio de TAAO1 PRACTICA 5: Análisis de Sistemas Discretos El objetivo de esta práctica es representar el módulo de la respuesta en frecuencia de cualquier sistema a partir del diagrama de polos y ceros en el plano Z. Esto lo realizaremos, igual que veíamos en teoría, a partir de los módulos de los vectores que van a cada punto de la circunferencia unidad, donde en el numerador teníamos el producto de los módulos de los vectores que van desde los ceros, y en el denominador el producto de los que van desde los polos. De este modo: 1. Cargamos en dos vectores columna complejos, llamados “v_ceros” y “v_polos”, los ceros y polos que deseemos (siempre por pares conjugados, o reales si aparecen de forma aislada) en coordenadas cartesianas. El número total de polos y/ó ceros dener ser al menos de 5. Ejemplo de introducción de datos: p1=0.3+0.8i; c1=-0.8; 2. Representa en el plano Z la posición de los ceros y los polos haciendo uso de la función zplane. 3. Vamos a evaluar la transformada Z en cien puntos w0 de la circunferencia unidad entre 0 y . Sitúa en un vector “w0” los cien puntos de evaluación: 4. Sabiendo que cada uno de los puntos anteriores se puede poner en coordenadas cartesianas como “cart=cos(w0(k))+i*sin(w0(k))”, y que el módulo del vector que une dos complejos en el plano Z se obtiene con “abs(z1-z2)”, calcule en el vector “Hmod” el módulo de la respuesta en frecuencia del sistema definido por los polos y ceros anteriormente introducidos. Para ello, Hmod debe tener el mismo tamaño que w0 para ser evaluado en cada uno de los ángulos de análisis, calculando para cada ángulo los productos de vectores correspondientes. 5. Podemos ahora representarlo bien en unidades lineales, plot(Hmod), o en unidades logarítmicas, plot(20*log10(Hmod)). En ambos casos, represéntelo con un eje de frecuencias normalizado entre 0 y 1. 6. Calculamos ahora los coeficientes de los polinomios numerador y denominador de: H ( z) b(0) b(1) z 1 b(2) z 2 ... b( N ) z N a(0) a(1) z 1 a(2) z 2 ... a(M ) z M Podemos hacerlo manualmente, pero también de forma automática con: >> b=poly(v_ceros); >> a=poly(v_polos); Comprueba el resultado manualmente, sabiendo que cada término (cero en el numerador, polo en el denominador) introduce un factor de la forma (1-ckz-1) (esta comprobación manual realizarla fuera del horario de laboratorio). 7. Conocidos los vectores de coeficientes b y a de H(z), podemos hacer uso de la herramienta “fvtool(b,a)” de Matlab, que permite ver todas las características de un filtro a partir de los vectores b y a de H(z). Comprueba que has calculado bien la respuesta en frecuencia, observa la respuesta en fase, el retardo de grupo, la respuesta impulsiva (h[n]), la respuesta al escalón y el diagrama de polos y ceros. - P5.1 - Laboratorio de TAAO1 8. Observa el siguiente ejemplo para introducir un número variable de ceros desde un programa .m de matlab: % prac4.m C=input(‘Introduce el número de ceros del sistema: ‘); v_ceros=zeros(C,1); for c=1:C cadena=[ 'Introduzca el cero número ' int2str(c) ': ']; C(c)=input(cadena); end 9. Haz lo mismo con el número de polos, y termina el programa de forma que calcule y represente de forma automática la respuesta en frecuencia a partir de cualquier diagrama de ceros y polos que se desee. - P5.2 -