ESUELA PROFESIONAL DE INGENIERIA EN TELECOMUNICACIONES
PROCESAMIENTO DIGITAL DE SEALES
PRACTICA 4: ANLISIS DE SISTEMAS DE TIEMPO DISCRETO
I. OBJETIVOS El objetivo de esta es representar el mdulo de la respuesta en frecuencia de cualquier sistema a partir del diagrama de polos y ceros en el plano Z. Esto se realizar a partir de los mdulos de los vectores que van a cada punto de la circunferencia unidad, donde en el numerador tenamos el producto de los mdulos de los vectores que van desde los ceros, y en el denominador el producto de los que van desde los polos.
II. MATERIALES Y/O EQUIPOS A UTILIZAR PC MATLAB Toolbox de DSP
III. DESARROLLO DE LA PRCTICA
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 nmero total de polos y/ ceros debe ser al menos 5.
Ejemplo de introduccin de datos: >> p1 = 0.3+0.8i; c1 = -0.8; 2. Represente en el plano Z la posicin de los ceros y los polos haciendo uso de la funcin zplane.
3. Vamos a evaluar la transformada Z en cien puntos de la circunferencia unidad entre 0 y . Site en un vector w0 los cien puntos de evaluacin.
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 mdulo del vector que une dos complejos en el plano Z se obtiene con abs(z1-z2), calcule en el vector Hmod el mdulo de la respuesta en frecuencia del sistema definido por los polos y ceros anteriormente introducidos. Para ello, Hmod debe tener el mismo tamao que w0 para ser evaluado en cada uno de los ngulos de anlisis, calculando para cada ngulo los productos de vectores correspondientes.
5. Podemos ahora representarlo bien en unidades lineales >> plot(Hmod) o en unidades logartmicas: >> plot(20*log10(Hmod)) En ambos casos, represntelo con un eje de frecuencias normalizado entre 0 y 1.
6. Calculamos ahora los coeficientes de los polinomios numerador y denominador de:
Podemos hacerlo manualmente, pero tambin de forma automtica con: >> b=poly(v_ceros); >> a=poly(v_polos); Compruebe el resultado manualmente, sabiendo que cada trmino (cero en el numerador, polo en el denominador) introduce un factor de la forma (1-c k z -1 )
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 caractersticas de un filtro a partir de los vectores b y a de H(z). Compruebe que ha calculado bien la respuesta en frecuencia, observe la respuesta en fase, el retardo de grupo, la respuesta impulsiva (h[n]), la respuesta al escaln y el diagrama de polos y ceros.
8. Observe el siguiente ejemplo para introducir un nmero variable de ceros desde un programa .m de MATLAB: % prac4.m C = input(Introduzca el nmero de ceros del sistema: ); v_ceros = zeros(C,1); for c = 1:C cadena = ['Introduzca el cero nmero ' int2str(c) ': ']; v_ceros(c) = input(cadena); end
9. Haga lo mismo con el nmero de polos, y termine el programa de forma que calcule y represente de forma automtica la respuesta en frecuencia a partir de cualquier diagrama de ceros y polos que se desee.
IV. CONCLUSIONES Y OBSERVACIONES: V. BIBLIOGRAFA O REFERENCIAS UTILIZADAS EN EL DESARROLLO DE LA PRCTICA VI. ANEXOS