Práctica V

Anuncio
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-ckz-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 -
Descargar