Sunteți pe pagina 1din 6

In t ro d u cci ón al A n ál i si s de Filtros Digitales

Kevin Marcillo, Ronald Quelal


Universidad de las Fuerzas Armadas ESPE
Departamento de Eléctrica y Electrónica
Sangolquí -Ecuador
krmarcillo@espe.edu.ec, rrquelal1@espe.edu.ec

Resumen—El presente laboratorio se enfoca en el análisis de tf2zp: Convierte la forma directa en la forma de
los diferentes comandos que posee Matlab para el tratamiento polos-ganancia- cero, invirtiendo el funcionamiento
de filtros, como por ejemplo FIR e IIR como filtros digitales. de zp2tf . La ganancia ceros-polos es descrito por:
También se tratara sobre las funciones de transferencia
consideradas de la forma polinómica (filtros no recursivos)
y de la forma racional polinomio (filtros recursivos). H(z) = [z − Z(1)][z − Z(2)]...[z − Z(M )]
[z − P (1)][z − P (2)]...[z − P (M)]
1. Objetivos
donde k es un factor de ganancia,
Familiarizar al estudiante con el análisis de filtros Z (1), Z(2), ..., Z(M ) es el conjunto de ceros
digitales en Matlab. del filtro, y P(1), P (2), ..., P (N ) es el conjunto de
Entender la funcionalidad de los diversos coman- polos del filtro.
dos existentes en Matlab para el análisis de filtros -Parámetro de entrada: vectores con el numerador y el
digitales. denominador b coeficientes a.
-Parámetro de salida: vectores columna de filtro de
2. Métodos y materiales ceros z y polos p, y el factor de ganancia del filtro
k.
Computador con software Matlab instalado. zp2tf: convierte la forma de polos y ganancia cero
(veá se comando tf 2zp) en forma directa, la inversión
3. Introducción de la funcionamiento de tf 2zp.
-Parámetro de entrada: vectores columna de filtro de
Este laboratorio ilustra cómo obtener realizaciones ceros z y polos p, y el factor de ganancia del filtro
alternativas para una función de transferencia dada como k.
visita guiada para el estudiante. -Parámetro de salida: vectores con el numerador y
el denominador b coeficientes a.
roots: Determina las raıces de un polinomio. Este
3.1. Formas de filtros digitales con Matlab comando también se puede utilizar para descomponer
una función de transferencia dada en el formato de
Como se ha visto en la clase, hay varias formas para la polos-ganancia de cero.
representación de una función de transferencia dada. -Parámetro de entrada: un vector de coeficientes de
Estas incluyen: la forma directa, la forma de cascada, la los polinomios.
forma paralela, y la forma de espacio de estado. La caja de -Parámetro de salida: un vector de las raíces.
herramientas de procesamiento de señales de Matlab tiene poly: Invierte la operación de las raíces es decir,
una serie de comandos que son adecuados para la dado un conjunto de raíces, este comando determina
transformación de una representación dada en otra de interés. el polinomio único polinomio asociado con estas
Tales comandos se resumen en la Tabla 1 y se explican en raíces.
detalle a continuación. -Parámetro de entrada: un vector de las raíces.
Las funciones que se describen a continuación son parte -Parámetro de salida: un vector de coeficientes de
caja de herramientas de procesamiento de señales de Matlab. los polinomios.
sos2tf: convierte la forma de cascada en forma
directa. Observe que no hay ninguna orden directa
que invierte esta operación.

Los parámetros de entrada una matriz Lx6, sos,


cuyas filas contienen los coeficientes de cada uno segundo
Tabla 1: Lista de comandos en MATLAB. el orden de sección del formulario.
-Parámetros de entrada: el mismo que para zp2tf , con la
adición de una cadena, hacia arriba (por defecto) o
hacia abajo, que las indica la sección de pedidos deseada
comienza con los polos más lejos de o más cerca de la
De tal manera que: unidad círculo, respectivamente.
-Parámetro de salida: como para el parámetro de entrada
del comando sos2tf.
 sos2zp: Convierte la forma espacio de estado en
la forma de polos-ceros ganancia, invirtiendo el
funcionamiento de zp2ss.
-Parámetros de entrada: como para comando ss2tf .
-Parámetro de salida: vectores num y den que contiene -Parámetros de salida: como para comando tf 2zp.
los coeficientes de numerador y denominador.  sos2ss: convierte la forma de cascada en la
forma espacio de estado, invirtiendo el funcionamiento
Ejemplo: sos=[1 1 1 1 10 1; -2 3 1 1 0 -1];
[num,den] = sos2tf(sos) de ss2sos.
-Parámetro de entrada: como para comando
sos2tf .
 residuez: Realiza la expansión en fracciones
-Parámetros de salida: como para comando tf
parciales en el dominio z, si hay dos parámetros de entrada.
Este comando considera raíces complejas. Para obtener una 2ss.
expansión paralela de una transferencia función, uno debe  ss2sos: convierte la forma de espacio de estado
combinar dichas raíces en pares complejos conjugados con el en forma de cascada, invirtiendo el funcionamiento de
comando cplxpair para formar secciones de segundo orden sos2ss.
con coeficientes reales exclusivamente. El comando residuez -Parámetros de entrada: como para comando
también convierte el desarrollo en fracciones de nuevo a ss2tf .
forma directa original, si hay tres parámetros de entrada. -Parámetro de salida:como para comando
-Parámetro de entrada (1): vectores de numerador y sos2tf.
denominador coeficientes b coeficientes a.  filter: realiza el filtrado de la señal utilizando el
-Parámetro de salida (1): vectores de residuos r y polos p, y tipo 2 de forma directa canánica para los filtros IIR.
el factor de ganancia k. -Parámetros de entrada: un vector b de los
-Parámetros de entrada (2): vectores de residuos r, p polos, y coeficientes del numerador, un vector de
el factor de ganancia k. coeficientes de un denominador, un vector x
-Parámetros de salida (2): vectores de numerador y que sostiene la señal a filtrar, y un vector Zi la
denominador coeficientes b coeficientes a. celebración de las condiciones iniciales de los
 cplxpair: reorganiza los elementos de un vector en retrasos.
pares complejos conjugados. Los pares están clasificados -Parámetros de salida: un vector y sostienen la
mediante el aumento de la parte real. Elementos reales se señal filtrada y un vector Zf la celebración de la
colocan después de todos los pares de complejos. condiciones iniciales de los retrasos.
-Parámetro de entrada: un vector de números
complejos.
-Parámetro de salida: un vector que contiene los
números complejos ordenados.
 tf2ss: convierte la forma directa en la forma espacio
de estado, invirtiendo el funcionamiento de ss2tf .
-Parámetros de entrada: como para comando tf 2zp.
-Parámetros de salida: la matriz de espacio de estado A, la
columna de entrada vector B, el estado vector fila C, y el
escalar D.
 ss2tf: Convierte la forma espacio de estado en forma
directa, invirtiendo el funcionamiento de tf 2ss.
-Parámetros de entrada: la matriz de espacio de
estado A, la columna de entrada del vector B, el
estado vector fila C, y el escalar D.
-Parámetros de salida: como para comando zp2tf.
 zp2sos: convierte la forma cero-polo ganancia en
forma de cascada, invirtiendo el funcionamiento de sos2zp.
El comando zp2sos también puede ordenar las
secciones resultantes de acuerdo con las posiciones
de privilegio con respecto al círculo unidad.
como en el siguiente script:
3.2. Descripción Espacio de estado

Tenga en cuenta la función de transferencia en forma


directa

Uno puede encontrar fácilmente los polos y ceros de una


función en Matlab utilizando las líneas de comando

En general, los grupos de comandos tf 2zp los


complejos polos y ceros en pares conjugados. Sin embargo,
estos pares complejos conjugados deben arreglarse de las
raíces reales para componer los bloques de segundo orden de
una realización cascada con coeficientes reales. Esto se
hace automáicamente por el comando zp2sos, cuya uso se
ejemplifica a continuación:
Hcascade = z p 2 s o s ( zc , pc , kc )
flexible

que corresponde a la realización


que, teniendo kp = 1 también en cuenta, corresponde a la
descomposición paralela

La realización en paralelo de una función de


transferencia dada puede determinarse con la ayuda del
residuo comando que expresa H(z) como la suma
Una descripción de espacio de estado que corresponde a
una función de transferencia dada se determina fácilmente
en Matlab con el comando
[ A, B , C , D] = t f 2 s s ( num , den ) ;
que, para H(z) como se da en la ecuación inicial, resulta
donde N es el número de polos y los parámetros r1, p y k
son las salidas de

[rp, pp, kp] = residue (num,den);

Una vez más, uno necesita separar los pares de polos


complejos-conjugados de los reales en pp para determinar
los bloques paralelos de segundo orden con coeficientes
estrictamente reales. Esta vez, sin embargo, no podemos
confiar en el comando zp2sos, que es adecuado solo para la
descomposición en cascada. La solución es emplear el
comando cplxpair, que coloca las raíces reales después de
todo pares complejos, y reorganizar el vector de residuos rp
en consecuencia, para permitir la combinación adecuada de
residuos y polos para formar los términos de segundo orden,
respuesta de impulso obtenida con el comando de filtro.

Se puede observar claramente la diferencia entre estas


las gráficas. El transitorio es absorbido al comienzo en segundos de
la respuesta al escalón utilizando la función filter que después de
todo es un filtro digital. Lo que no sucede, es con la respuesta al
4. Procedimiento de la práctica escalón de la función de transferencia sin usar filtro en la figura2, lo
cual se debe a que en un transitorio existen muchas altas
frecuencias las cuales son disminuidas por el filtro.
4.1. Vamos a revisar la descripción de espacio de
estado de H(z)

4.1.1. Utilice el comando eig de Matlab para


determinar los valores propios de la matriz A del
sistema y comparar sus resultados con los polos de la
anterior H(z)..

Como podemos observar es la matriz resultante del


arreglo complejo de la función de transferencia que se Figura 1: Respuesta escalón unitario con filter.
obtuvo en la anterior sección.

4.1.2. Implementar la ecuación.

en Matlab para determinar la respuesta de impulso de


la descripción de espacio de estado (basado en matrices A,
B, C, y el escalar d) y comparar el resultado con la

Figura 2: Respuesta escalón unitario.

5. Conclusiones y recomendaciones
Conclusiones
 Se ha logrado familiarizar al estudiante con la aplicación de
filtros en Matlab.
 Se ha logrado entender la funcionalidad de los diversos
comandos existentes en Matlab para la aplicación  Otra solución para separar los pares
sobre los filtros FIR e IIR. complejos conjugados de los reales es situar
las raíces reales después de todos los pares
de complejos, y reordenar el vector residuo
rp en consecuencia, para permitir la
combinación adecuada de los residuos y los
postes para formar los términos de segundo
orden.
 Los pares complejos conjugados, se
resuelven a partir de las raíces reales para
componer los elementos de segundo orden
de una realización cascada con coeficientes
reales.

Recomendaciones
 Se recomienda usar el comando tf para
calcular la función de transferencia de las
funciones que se necesite encontrar.
 Se recomienda usar la función tf2ss para
encontrar los espacios entre los estados.

REFERENCIAS
[1] Paulo Diniz, Eduardo da Silva, and Sergio Netto. Digital
Signal Proces- sing: System Analysis and Design, 2nd Edition.
Cambridge University Press, ISBN 978-0-521-88775-5, 2010.
[2] Monson H. Hayes. Schaum’s Outline of Theory and
Problems of Digital Signal Processing, 2nd Edition.
McGraw Hill, ISBN 0-07- 027389-8, 2011.

S-ar putea să vă placă și