Está en la página 1de 7

Planificar Métodos y Herramientas para el Diseño de

Filtros Digitales
Romero, César
Universidad Nacional Abierta y a Distancia
Ingeniería de Telecomunicaciones
Tratamiento Digital de Señales

Abstract — In this work it is presented two discrete x(T), x(2T),… donde T es el período de muestreo. La
systems through difference equations, which were analyzed transformada z de una función del tiempo x(t), donde t es
through simulation and mathematical analysis in the time positivo, o de la secuencia de valores x(kT), donde k adopta
and frequency domain, the Z transform is applied, the valores de cero o de enteros positivos y T íes el periodo de
magnitude and the phase were found. muestreo, se define mediante la siguiente ecuación:

Keywords— FIR filters, Z transform, MATLAB, ∞

Simulink, transfer function, impulse response. X(z) = Z{x(t)} = Z{x(kT)} = ∑ x(kT)z −k


k=−∞
I. INTRODUCCIÓN

Cuando se trabaja con sistemas en tiempo discreto es Para una secuencia de números x(k), la transformada Z se
importante tener en cuenta herramientas matemáticas discretas, define como:

como la transformada Z, las sumatorias, las secuencias, etc.
Para ello uno de los principales conceptos es la Función de X(z) = Z{x[k]} = ∑ x[k]z −k
Transferencia Impulso, es decir, la función de transferencia en k=−∞
tiempo discreto o en el dominio Z. Una de las herramientas de Se conoce como Transformada Z unilateral [1].
software más útiles y mayormente popular es Matlab, la cual
cuenta con varias cajas de herramientas o “ToolBox” que nos 2. ¿Qué representa Z en una función?
permiten realizar un análisis en tiempo discreto muy detallado Z es una variable compleja: z = ejω
y completo.

La transformada Z cuenta con varias propiedades de las cuales 3. ¿Cuál es la diferencia entre la transformada Z bilateral
se hará uso en este artículo principalmente de la propiedad de y la unilateral?
desplazamiento. Existen dos tipos de transformada Z, la En la transformada Z unilateral se supone que x(t)=0 para t<0 o
unilateral y la bilateral, se hará una distinción entre las dos en x(k)=0 para k<0. En la transformada Z bilateral, se supone que
la sección Contenido Teórico. la función x(t) es distinta de cero para t<0 y se considera que la
secuencia x(k) es distinta de cero para k<0 [2].
En este documento se realiza el desarrollo analítico para dos
ecuaciones de diferencia, una ecuación IIR y otra ecuación FIR, Ambas transformadas z, la unilateral y la bilateral son series de
se dibujan los diagramas de bloques, se calcula la transformada potencias de z −1 .
Z, se calculan las funciones de transferencia, se calculan las
ecuaciones de respuesta en frecuencia y ecuación de magnitud. 4. ¿Cómo se calcula los polos y ceros de una transformada
Adicionalmente se realiza la simulación de las dos ecuaciones Z?
en Simulink, a través del cual encontramos la respuesta al Ceros: son los valores de z que hacen que H(z) = 0
impulso de cada sistema, el diagrama de Bode y el diagrama de Polos: son los valores de z que hacen que H(z) = ∞
polos y ceros.
5. ¿Qué es la respuesta en frecuencia de un sistema?
Con el término respuesta en frecuencia, se quiere hacer
II. CONTENIDO TEÓRICO referencia a la respuesta de un sistema en estado estacionario a
una entrada sinusoidal. En los métodos de respuesta en
1. ¿Qué es la transformada Z? frecuencia, la frecuencia de la señal de entrada se varía en un
La transformada Z es un método operacional muy poderoso cierto rango, para estudiar la respuesta resultante. Una ventaja
cuando se trabaja con sistemas en tiempo discreto. Al del método de la respuesta en frecuencia es que se pueden
considerar la transformada Z de una función del tiempo x(t), se utilizar los datos que se obtienen de las medidas sobre el
toman en cuenta los valores muestreados de x(t), esto es, x(0), sistema físico sin deducir su modelo matemático [3].
6. ¿Qué representa la respuesta en fase de un sistema Para ello, factorizamos y despejamos,
digital?
Un diagrama de fase es la representación gráfica de todos los Y(z) − a1 z −1 Y(z) + a 2 z −2 Y(z)
posibles valores que tendrá el ángulo o la fase del sistema, como = b0 X(z) + b1 z −1 X(z) + b2 z −2 X(z)
respuesta una entrada con frecuencia variable.

Y(z)(1 − a1 z −1 + a 2 z −2 ) = X(z)(b0 + b1 z −1 + b2 z −2 )

III. CONTENIDO 𝑌(𝑧) (𝑏0 + 𝑏1 𝑧 −1 + b2 z −2 )


=
A. Solución Analítica Ecuación IIR 𝑋(𝑧) (1 − 𝑎1 𝑧 −1 + a 2 z −2 )

La ecuación de diferencia seleccionada es:


𝑏0 + 𝑏1 𝑧 −1 + b2 z −2
𝐻(𝑧) =
y[n] = b0 x[n] + b1 x[n − 1] + b2 x[n − 2] + a1 y[n − 1] 1 − 𝑎1 𝑧 −1 + a 2 z −2
− a 2 y[n − 2]

Para hallar la respuesta en frecuencia del sistema:


El diagrama de bloques realizado en MatlabR2020a se muestra
en la Figura 1. 𝑧 = 𝑒 𝑗𝜔

𝑏0 + 𝑏1 (𝑒 𝑗𝜔 )−1 + 𝑏2 (𝑒 𝑗𝜔 )−2
𝐻(𝑒 𝑗𝜔 ) =
1 − 𝑎1 (𝑒 𝑗𝜔 )−1 + 𝑎2 (𝑒 𝑗𝜔 )−2

𝑏0 + 𝑏1 𝑒 −𝑗𝜔 + 𝑏2 𝑒 −2𝑗𝜔
𝐻(𝑒 𝑗𝜔 ) =
Figura 1. Diagrama de bloques de la ecuación de diferencia. 1 − 𝑎1 𝑒 −𝑗𝜔 + 𝑎2 𝑒 −2𝑗𝜔

Teniendo en cuenta la definición de la transformada Z: Para hallar la magnitud de la respuesta en frecuencia y la


respuesta en fase, se aplica la identidad de Euler:

X(z) = Z{x[n]} = ∑ x[n]z −n 𝑒 𝑗𝜔 = 𝑐𝑜𝑠(𝜔) + 𝑗𝑠𝑖𝑛(𝜔)


n=−∞

𝐻(𝜔)
Aplicando la transformada Z a y[n]: 𝑏0 + 𝑏1 [𝑐𝑜𝑠(𝜔) − 𝑗𝑠𝑖𝑛(𝜔)] + 𝑏2 [𝑐𝑜𝑠(2𝜔) − 𝑗𝑠𝑖𝑛(2𝜔)]
=
∞ 1 − 𝑎1 [𝑐𝑜𝑠(𝜔) − 𝑗𝑠𝑖𝑛(𝜔)] + 𝑎2 [𝑐𝑜𝑠(2𝜔) − 𝑗𝑠𝑖𝑛(2𝜔)]
Y(z) = Z{y[n]} = ∑ y[n]z −n
n=−∞
𝐻(𝜔)

𝑏0 + 𝑏1 𝑐𝑜𝑠(𝜔) − 𝑗𝑏1 𝑠𝑖𝑛(𝜔) + 𝑏2 𝑐𝑜𝑠(2𝜔) − 𝑗𝑏2 𝑠𝑖𝑛(2𝜔)
Y(z) = ∑ {b0 x[n] + b1 x[n − 1] + b2 x[n − 2] =
1 − 𝑎1 𝑐𝑜𝑠(𝜔) + 𝑗𝑎1 𝑠𝑖𝑛(𝜔) + 𝑎2 𝑐𝑜𝑠(2𝜔) − 𝑗𝑎2 𝑠𝑖𝑛(2𝜔)
n=−∞
+ a1 y[n − 1] − a 2 y[n − 2]}z −n
𝑏0 + 𝑏1 𝑐𝑜𝑠(𝜔) + 𝑏2 𝑐𝑜𝑠(2𝜔) − 𝑗𝑏1 𝑠𝑖𝑛(𝜔) − 𝑗𝑏2 𝑠𝑖𝑛(2𝜔)
=
−1
Y(z) = b0 X(z) + b1 z X(z) + b2 z −2 −1
X(z) + a1 z Y(z) 1 − 𝑎1 𝑐𝑜𝑠(𝜔) + 𝑎2 𝑐𝑜𝑠(2𝜔) + 𝑗𝑎1 𝑠𝑖𝑛(𝜔) − 𝑗𝑎2 𝑠𝑖𝑛(2𝜔)
− a 2 z −2 Y(z)
𝑏0 + 𝑏1 𝑐𝑜𝑠(𝜔) + 𝑏2 𝑐𝑜𝑠(2𝜔) + 𝑗[−𝑏1 𝑠𝑖𝑛(𝜔) − 𝑏2 𝑠𝑖𝑛(2𝜔)
=
Para hallar la función de transferencia se debe tener en cuenta 1 − 𝑎1 𝑐𝑜𝑠(𝜔) + 𝑎2 𝑐𝑜𝑠(2𝜔) + 𝑗[𝑎1 𝑠𝑖𝑛(𝜔) − 𝑎2 𝑠𝑖𝑛(2𝜔)]
que:
Y(z)
H(z) = Para separar parte Real e Imaginaria se multiplica por el
X(z) complejo conjugado del denominador:
B. Solución Analítica Ecuación FIR
𝐻(𝜔) La ecuación asignada es:
𝑏0 + 𝑏1 𝑐𝑜𝑠(𝜔) + 𝑏2 𝑐𝑜𝑠(2𝜔) + 𝑗[−𝑏1 𝑠𝑖𝑛(𝜔) − 𝑏2 𝑠𝑖𝑛(2𝜔)
= y[𝑛] = 𝑏0 𝑥[𝑛] + 𝑏1 𝑥[𝑛 − 1] + 𝑏2 𝑥[𝑛 − 2] + 𝑏3 𝑥[𝑛 − 3] +
1 − 𝑎1 𝑐𝑜𝑠(𝜔) + 𝑎2 𝑐𝑜𝑠(2𝜔) + 𝑗[𝑎1 𝑠𝑖𝑛(𝜔) − 𝑎2 𝑠𝑖𝑛(2𝜔)]
1 − 𝑎1 𝑐𝑜𝑠(𝜔) + 𝑎2 𝑐𝑜𝑠(2𝜔) − 𝑗[𝑎1 𝑠𝑖𝑛(𝜔) − 𝑎2 𝑠𝑖𝑛(2𝜔)] 𝑏4 𝑥[𝑛 − 4]

1 − 𝑎1 𝑐𝑜𝑠(𝜔) + 𝑎2 𝑐𝑜𝑠(2𝜔) − 𝑗[𝑎1 𝑠𝑖𝑛(𝜔) − 𝑎2 𝑠𝑖𝑛(2𝜔)] El diagrama de bloques realizado en MatlabR2020a se muestra
en la Figura 2.

Operando algebraicamente tenemos que la parte Real es,


Re{𝐻(𝜔)} =
2(𝑎2 𝑏0 + 𝑏2 )𝑐𝑜𝑠(𝜔)2 + [𝑎2 𝑏1 + (−𝑏0 − 𝑏2 )𝑎1 + 𝑏1 ]𝑐𝑜𝑠(𝜔) + (−𝑏0 + 𝑏2 )𝑎2 − 𝑎1 𝑏1 + 𝑏0 − 𝑏2
4𝑎2 𝑐𝑜𝑠(𝜔)2 − 2𝑎1 (𝑎2 + 1)𝑐𝑜𝑠(𝜔) + 𝑎12 + 𝑎2 2 − 2𝑎2 + 1

y la parte Imaginaria es:


𝐼𝑚{𝐻(𝜔)}
𝑠𝑖𝑛(𝜔)[2(−𝑎2 𝑏0 + 𝑏2 )𝑐𝑜𝑠(𝜔) − 𝑎2 𝑏1 + (𝑏0 − 𝑏2 )𝑎1 + 𝑏1 ]
=−
4𝑎2 𝑐𝑜𝑠(𝜔)2 − 2𝑎1 (𝑎2 + 1)𝑐𝑜𝑠(𝜔) + 𝑎1 2 + 𝑎2 2 − 2𝑎2 + 1

Dado que las expresiones matemáticas son bastantes extensas y


no caben dentro de los márgenes de la página, renombraremos
las expresiones para una mayor simplicidad visual, la parte real
la llamaremos R y la imaginaria I

Figure 2. Diagrama de bloques de la ecuación de diferencia.


Se aplica la fórmula para la magnitud:
|𝑎 + 𝑏𝑗| = √𝑎2 + 𝑏 2
Aplicando la transformada Z a y[n]:

|𝐻(𝜔)| =
𝑌(𝑧) = 𝑍{𝑦[𝑛]} = ∑ 𝑦[𝑛]𝑧 −𝑛
√𝑅 2 + I2 𝑛=−∞

𝑌(𝑧) = ∑ {𝑏0 𝑥[𝑛] + 𝑏1 𝑥[𝑛 − 1] + 𝑏2 𝑥[𝑛 − 2]


Operando algebraicamente el resultado es,
𝑛=−∞
|𝐻(𝜔)| = + 𝑏3 𝑥[𝑛 − 3] + 𝑏4 𝑥[𝑛 − 4]}𝑧 −𝑛

4𝑐𝑜𝑠(𝜔)2 𝑏0 𝑏2 + 2𝑐𝑜𝑠(𝜔)𝑏0 𝑏1 + 2𝑐𝑜𝑠(𝜔)𝑏1 𝑏2 + 𝑏0 2 − 2𝑏0 𝑏2 + 𝑏1 2 + 𝑏2 2



4𝑎2 𝑐𝑜𝑠(𝜔)2 − 2𝑎1 (𝑎2 + 1)𝑐𝑜𝑠(𝜔) + 𝑎1 2 + 𝑎2 2 − 2𝑎2 + 1 𝑌(𝑧) = 𝑏0 𝑋(𝑧) + 𝑏1 𝑧 −1 𝑋(𝑧) + 𝑏2 𝑧 −2 𝑋(𝑧) + 𝑏3 𝑧 −3 𝑋(𝑧)
+ 𝑏4 𝑧 −4 𝑋(𝑧)

Para hallar la función de transferencia, factorizamos y


Aplicando la fórmula para la fase: despejamos,
𝑏 𝑦(𝑧) = 𝑥(𝑧)(𝑏0 + 𝑏1 𝑧 −1 + 𝑏2 𝑧 −2 + 𝑏3 𝑧 −3 + 𝑏4 𝑧 −4 )
𝜃(𝑎 + 𝑏𝑗) = 𝑎𝑟𝑐𝑡𝑎𝑛 ( )
𝑎

⊾𝐻(𝜔)
−𝑠𝑖𝑛(𝜔)[2(−𝑎2 𝑏0 + 𝑏2 )𝑐𝑜𝑠(𝜔) − 𝑎2 𝑏1 + (𝑏0 − 𝑏2 )𝑎1 + 𝑏1 ] 𝑦(𝑧)
= 𝑎𝑟𝑐𝑡𝑎𝑛 [ ] = 𝑏0 + 𝑏1 𝑧 −1 + 𝑏2 𝑧 −2 + 𝑏3 𝑧 −3 + 𝑏4 𝑧 −4
4𝑎2 𝑐𝑜𝑠(𝜔)2 − 2𝑎1 (𝑎2 + 1)𝑐𝑜𝑠(𝜔) + 𝑎1 2 + 𝑎2 2 − 2𝑎2 + 1 𝑥(𝑧)
𝐻(𝑧) = 𝑏0 + 𝑏1 𝑧 −1 + 𝑏2 𝑧 −2 + 𝑏3 𝑧 −3 + 𝑏4 𝑧 −4

|𝐻(𝜔)| = ([𝑏0 + 𝑏1 𝑐𝑜𝑠(𝜔) + 𝑏2 𝑐𝑜𝑠(2𝜔) + 𝑏3 𝑐𝑜𝑠(3𝜔)) + 𝑏4 𝑐𝑜𝑠(4𝜔)]2

+ [− 𝑏1 𝑠𝑖𝑛(𝜔)
Para hallar la respuesta en frecuencia del sistema:
1
𝑧 = 𝑒 𝑗𝜔 − 𝑏2 𝑠𝑖𝑛(2𝜔) −𝑏3 𝑠𝑖𝑛(3𝜔) −𝑏4 𝑠𝑖𝑛(4𝜔)]2 )2

𝐻(𝑒 𝑗𝜔 ) = 𝑏0 + 𝑏1 𝑒 −𝑗𝜔 + 𝑏2 𝑒 −2𝑗𝜔 + 𝑏3 𝑒 −3𝑗𝜔 + 𝑏4 𝑒 −4𝑗𝜔 Con ayuda de la herramienta matemática obtenemos la
expansión de la expresión matemática:

Para hallar la magnitud de la respuesta en frecuencia y la


respuesta en fase, se aplica la identidad de Euler:
𝑒 𝑗𝜔 = cos(𝜔) + 𝑗 sin(𝜔)

Se aplica la fórmula para la fase:


𝑏
𝐻(𝜔) = 𝑏0 + 𝑏1 (𝑐𝑜𝑠(𝜔) − 𝑗𝑠𝑖𝑛(𝜔)) 𝜃(𝑎 + 𝑏𝑗) = 𝑎𝑟𝑐𝑡𝑎𝑛 ( )
𝑎
+ 𝑏2 (𝑐𝑜𝑠(2𝜔) − 𝑗𝑠𝑖𝑛(2𝜔))
⊾𝐻(𝜔)
+ 𝑏3 (𝑐𝑜𝑠(3𝜔) − 𝑗𝑠𝑖𝑛(3𝜔)) − 𝑏1 𝑠𝑖𝑛(𝜔) − 𝑏2 𝑠𝑖𝑛(2𝜔) − 𝑏3 𝑠𝑖𝑛(3𝜔) − 𝑏4 𝑠𝑖𝑛(4𝜔)
= 𝑎𝑟𝑐𝑡𝑎𝑛 [ ]
𝑏0 + 𝑏1 𝑐𝑜𝑠(𝜔) + 𝑏2 𝑐𝑜𝑠(2𝜔) + 𝑏3 𝑐𝑜𝑠(3𝜔) + 𝑏4 𝑐𝑜𝑠(4𝜔)

+ 𝑏4 (𝑐𝑜𝑠(4𝜔) − 𝑗𝑠𝑖𝑛(4𝜔))

IV. SIMULACIÓN EN MATLAB (SIMULINK)


𝐻(𝜔) = 𝑏0 + 𝑏1 cos(𝜔) − 𝑗 𝑏1 sin(𝜔) Para poder implementar las simulaciones en Matlab debemos
asignar primero los valores de las constantes, las asignamos
+ 𝑏2 cos(2𝜔) − 𝑗 𝑏2 sin(2𝜔) arbitrariamente ya que en el enunciado del problema no se
dieron criterios para la elección de estos valores:
+ 𝑏3 cos(3𝜔) − 𝑗 𝑏3 sin(3𝜔) b0 = 0.015

+ 𝑏4 cos(4𝜔) − 𝑗 𝑏4 sin(4𝜔) b1 = 0.025


b2 = 0.035
b3 = 0.065
Separamos parte Real e Imaginaria: b4 = 0.075
a1 = 0.045
𝐻(𝜔) = 𝑏0 + 𝑏1 𝑐𝑜𝑠(𝜔) a 2 = 0.055

+ 𝑏2 𝑐𝑜𝑠(2𝜔) + 𝑏3 𝑐𝑜𝑠(3𝜔) + 𝑏4 𝑐𝑜𝑠(4𝜔)


A. Simulación Ecuación IIR
− 𝑗 𝑏1 𝑠𝑖𝑛(𝜔) − 𝑗 𝑏2 𝑠𝑖𝑛(2𝜔) Utilizamos el bloque “Impulso Discreto”, el bloque “Filtro
Discreto” y el bloque “Osciloscopio” para el montaje de la
− 𝑗 𝑏3 𝑠𝑖𝑛(3𝜔) − 𝑗 𝑏4 𝑠𝑖𝑛(4𝜔) simulación.

Se aplica la fórmula para la magnitud:


|𝑎 + 𝑏𝑗| = √𝑎2 + 𝑏 2
Figura 3. Implementación de la simulación en Simulink.

Para observar la respuesta al impulso damos doble clic en el


osciloscopio.

Figura 6. Diagrama de Bode del sistema.

B. Simulación Ecuación FIR


Utilizamos el bloque “Impulso Discreto”, el bloque “Filtro
Discreto” y el bloque “Osciloscopio” para el montaje de la
simulación.

Figura 4. Respuesta al impulso del sistema.

Para graficar el diagrama de polos y ceros y el diagrama de Figura 7. Implementación de la simulación en Simulink.
Bode utilizamos el “Control System Toolbox”.

Para observar la respuesta al impulso damos doble clic en el


osciloscopio.

Figura 5. Diagrama de polos y ceros del sistema.

Figura 8. Respuesta al impulso del sistema.


A partir de las Figuras 8 y 4 se puede concluir que la respuesta
al impulso de sistemas discretos es escalonada o con forma de
Para graficar el diagrama de polos y ceros y el diagrama de
escalera, y es distinta de la respuesta en el tiempo continuo.
Bode utilizamos el “Control System Toolbox”.
Con base en las Figuras 5 y 9 se puede determinar la estabilidad
del sistema, ya que el lugar geométrico de las raíces no pasa en
ningún momento al semiplano derecho.

Con fundamento en las Figuras 6 y 10 se concluye que los dos


sistemas presentan un ancho de banda relativamente pequeño,
ya que a partir de 1 rad/s aproximadamente la respuesta deja de
ser plana para ambos sistemas.
BIBLIOGRAFÍA

[1] K. Ogata, Discrete Time Control System, 2st ed. Prentice


Hall International Editions, 1995, p. 24.
[2] K. Ogata, Discrete Time Control System, 2st ed. Prentice
Hall International Editions, 1995, p. 25.
[3] K. Ogata, Ingeniería de Control Moderna, 5 ta ed. Pearson,
2010, p. 398.
[4] Ambardar (2002) “Procesamiento de señales analógicas y
digitales” página 446 -460 , capítulo 14. Recuperado de:
http://bibliotecavirtual.unad.edu.co:2081/ps/eToc.do?cont
Figura 9. Diagrama de polos y ceros del sistema. entModuleId=GVRL&resultClickType=AboutThisPublic
ation&searchType=BasicSearchForm&docId=GALE%7C
3BRH&userGroupName=unad&inPS=true&rcDocId=GA
LE%7CCX4060300148&prodId=GVRLE. N. Rivas and
P. Lischinsky “HERRAMIENTA DE SOFTWARE
LIBRE CON ACCESO”, 2008.
[5] Blanco Velasco, Manuel Cruz Roldán, Fernando (2013)
“Tratamiento digital de señales” capítulo 2.
http://bibliotecavirtual.unad.edu.co:2460/lib/unadsp/detail
.action?docID=32154582.
[6] Ambardar (2002) “Procesamiento de señales analógicas y
digitales” página 460 - 464, capítulo 14. Recuperado
de:http://bibliotecavirtual.unad.edu.co:2081/ps/eToc.do?c
ontentModuleId=GVRL&resultClickType=AboutThisPub
lication&searchType=BasicSearchForm&docId=GALE%
7C3BRH&userGroupName=unad&inPS=true&rcDocId=
GALE%7CCX4060300148&prodId=GVRLB. Widrow
and S.D. Stearns, Adaptive Signal Proccesing, Prentice-
Hall. 1985.
[7] Frias, V. (30 de Septiembre de 2020). Blogspot. Obtenido
de
https://topaudioprofesional.blogspot.com/2012/09/ran
go-de-frecuencias-de-los.html
[8] Hong, K. (s.f.). Bogo To Bogo. Obtenido de
https://www.bogotobogo.com/Matlab/Matlab_Tutorial_D
FT_Discrete_Fourier_Transform.php.
Figura 10. Diagrama de Bode del sistema.

V. RESULTADOS Y CONCLUSIONES
Se encuentra cierta similitud en los procedimientos en tiempo
discreto con los procedimientos en tiempo continuo.

Mediante el desarrollo analítico de ambas ecuaciones de


diferencias se ponen en práctica las herramientas matemáticas
del álgebra, trigonometría, cálculo y variable compleja.

También podría gustarte