Sei sulla pagina 1di 4

Universidad Don Bosco, Facultad de Ingeniería, Escuela de ingeniería electrónica, Sistemas y Señales Discretos.

Diseño de un filtro Butterworth utilizando el


método de la transformada bilineal.
 de la transformada bilineal usando las siguientes
Abstract—El presente artículo aborda al diseño de un filtro especificaciones en tiempo continuo:
clásico de Butterworth utilizando el método de la transformada
bilineal así como su implementación usando la herramienta de  Banda de paso: 0 a 1600 Hz
software matemático MATLAB.
 Banda eliminada: 2600 a 5512.5 Hz
Index Terms—Filtro digital, Butterworth, Método de la  Máxima atenuación en la banda de paso: 3dB
transformada bilineal, Banda de paso, banda eliminada,  Máxima atenuación en la banda eliminada: 40dB
atenuación, función de transferencia.  Frecuencia de muestreo: 11025 Hz

I. NOMENCLATURA IV. ANÁLISIS EN TIEMPO CONTINUO


ωc Frecuencia de corte(discreta)
ωs Frecuencia de muestreo(discreta) 𝒓𝒂𝒅
𝛀 = 𝟐𝝅𝒇 [ ]
𝒔
ωp Frecuencia de paso(discreta) 𝑟𝑎𝑑
Ts Tiempo de muestreo
Ω𝑝 = 2𝜋(1600𝐻𝑧) = 3200𝜋 [ ]
𝑠
𝑟𝑎𝑑
N Orden del filtro Ω𝑠 = 2𝜋(2600𝐻𝑧) = 5200𝜋 [ ]
𝑠
Ωp Frecuencia de paso(continua)
Ωc Frecuencia de corte(continua) 𝛀
𝝎 = 𝛀𝑻𝑴 = (𝒓𝒂𝒅)
Ωs Frecuencia de muestreo(continua)
𝒇𝑴
3200𝜋
Sk Numero de polos 𝜔𝑝 = = 0.29𝜋[𝑟𝑎𝑑]
11025
H(z) Función de transferencia del filtro 5200𝜋
𝜔𝑠 = = 0.47𝜋[𝑟𝑎𝑑]
de tiempo discreto 11025

Ap Máxima atenuación en la banda de 𝝎


paso
𝛀′ = 𝟐 𝐭𝐚𝐧 ( )
𝟐
As Máxima atenuación en la banda 0.29𝜋
eliminada Ω′𝑝 = 2 tan ( ) = 0.9797
2
0.47𝜋
Ω′𝑠 = 2 tan ( ) = 1.8198
2
II. INTRODUCCIÓN
V. OBTENCIÓN DE LA ECUACIÓN DEL FILTRO
E l siguiente documento muestra los pasos seguidos para la
𝟏
creación de un filtro digital de señales del tipo Butterworth |𝑯𝒄 (𝒋𝝎)|𝟐 =
empleando el método de la transformada bilineal según una 𝛀 𝟐𝑵
𝟏+( )
serie de especificaciones de frecuencias requeridas así como 𝛀𝒄
también de atenuaciones correspondientes para las bandas
resultantes. Se muestra también la simulación del filtro 𝐴𝑝 = 3𝑑𝐵 = −20 log(1 − 𝛿1 )
obtenido en MATLAB. 3 3
− = log(1 − 𝛿1 ) ; 10−20 = (1 − 𝛿1 ) = 𝟎. 𝟕𝟎𝟕𝟗𝟒
20
III. ENUNCIADO DEL PROBLEMA
𝐴𝑠 = 40𝑑𝐵 = −20 log(𝛿2 )
40
− = log(𝛿2 ) ; 10−2 = 𝛿2 = 𝟎. 𝟎𝟏
DISEÑAR e implementar un filtro de Butterworth por el método 20

Por lo que nos quedan dos ecuaciones:


Universidad Don Bosco, Facultad de Ingeniería, Escuela de ingeniería electrónica, Sistemas y Señales Discretos. 2

1
(0.70794)2 =
0.9797 2𝑁 13𝜋 19𝜋
1+( ) (𝑠 − 0.9799𝑒 𝑗 16 ) (𝑠 − 0.9799𝑒 𝑗 16 )
Ω𝑐
1 𝑠 2 − 1.6215𝑠 + 0.9602 (3)
(0.01)2 = 2𝑁
1.8198
1+( ) 15𝜋 17𝜋
Ω𝑐
(𝑠 − 0.9799𝑒 𝑗 16 ) (𝑠 − 0.9799𝑒 𝑗 16 )
Luego de simultanear estas dos ecuaciones obtenemos valores
para ‘N’ y ‘Ωc’. 𝑠 2 − 1.9221𝑠 + 0.9602 (4)
𝑁 = 7.44 ≈ 8
Ω𝑐 = 0.9799
0.85
𝐻𝑐 (𝑠) = …
(𝑠 2 − 0.3987𝑠 + 1.046)(𝑠 2 − 1.1367𝑠 + 1.0464)
VI. OBTENCIÓN DE LA FUNCIÓN DE TRANSFERENCIA CONTINUA
DEL FILTRO 0.85

(𝑠 2 − 1.7012𝑠 + 1.0466)(𝑠 2 − 2.007𝑠 + 1.0465)
(−Ω𝑐 )𝑁
𝐻𝑐 (𝑠) =
(𝑠 − 𝑠1 )(𝑠 − 𝑠2 ) … (𝑠 − 𝑠𝑁 )
1 1 + 2𝑧 −1 + 𝑧 −2
𝜋 → 𝐶3
𝑠𝑘 = Ω𝑐 𝑒 𝑗 2𝑁(2𝑘+𝑁−1) 𝑠 2 + 2𝐶1 + 𝐶2 1 + 𝐶4 𝑧 −1 + 𝐶5 𝑧 −2
𝑘 = {1, 2, 3, … , 𝑁}
(−Ω𝑐 )𝑁 = (−1.0233)8 = 1.2028 Dónde:

1
𝐶3 =
Ahora vamos a obtener los polos de la función. 4 + 2𝐶1 + 𝐶2

𝜋
(2(1)+8−1)
9𝜋 𝐶4 = (−8 + 2𝐶2 )𝐶3
𝑠1 = (1.023)𝑒 16 = 0.9799𝑒 𝑗 16
𝜋 11𝜋
(2(2)+8−1)
𝑠2 = (1.023)𝑒 16 = 0.9799𝑒 𝑗 16 𝐶5 = (4 − 2𝐶1 + 𝐶2 )𝐶3
𝜋 13𝜋
𝑠3 = (0.9799)𝑒 16(2(3)+8−1) = 0.9799𝑒 𝑗 16
𝜋 15𝜋 Y evaluamos para cada ecuación cuadrática.
𝑠4 = (0.9799)𝑒 16(2(4)+8−1) = 0.9799𝑒 𝑗 16
𝜋 17𝜋 (1)
𝑠5 = (0.9799)𝑒 16(2(5)+8−1) = 0.9799𝑒 𝑗 16
𝜋 19𝜋 1 + 2𝑧 −1 + 𝑧 −2
𝑠6 = (0.9799)𝑒 16(2(6)+8−1) = 0.9799𝑒 𝑗 16 (0.1746) ( )
1 − 1.062𝑧 −1 + 0.7328𝑧 −2
𝜋 21𝜋
𝑠7 = (0.9799)𝑒 16(2(7)+8−1) = 0.9799𝑒 𝑗 16
𝜋 23𝜋 (2)
𝑠8 = (0.9799)𝑒 16(2(8)+8−1) = 0.9799𝑒 𝑗 16
1 + 2𝑧 −1 + 𝑧 −2
(0.14) ( )
𝐻𝑐 (𝑠) = 1 − 0.8517𝑧 −1 + 0.3898𝑧 −2
1
9𝜋 11𝜋 13𝜋 15𝜋 …
(𝑠−0.9799𝑒
𝑗 16 𝑗 𝑗 𝑗
)(𝑠−0.9799𝑒 16 )(𝑠−0.9799𝑒 16 )(𝑠−0.9799𝑒 16 ) (3)
1 + 2𝑧 −1 + 𝑧 −2
(0.1216) ( )
1 1 − 0.7396𝑧 −1 + 0.2069𝑧 −2
… 17𝜋 19𝜋 21𝜋 23𝜋
𝑗 𝑗 𝑗 𝑗
(𝑠−0.9799𝑒 16 )(𝑠−0.9799𝑒 16 )(𝑠−0.9799𝑒 16 )(𝑠−0.9799𝑒 16 )
(4)
1 + 2𝑧 −1 + 𝑧 −2
Operando el denominador de H(s) obtenemos funciones (0.1135) ( )
1 − 0.6905𝑧 −1 + 0.1267𝑧 −2
cuadráticas de los términos que contienen polos complejos
conjugados.
𝐻(𝑧) =
9𝜋 23𝜋 1+2𝑧 −1 +𝑧 −2 1+2𝑧 −1 +𝑧 −2
𝑗 𝑗 0.0003373 ( )( )…
(𝑠 − 0.9799𝑒 16 ) (𝑠 − 0.9799𝑒 16 ) 1−1.062𝑧 −1 +0.7328𝑧 −2 1−0.8517𝑧 −1 +0.3898𝑧 −2

𝑠 2 − 0.3823𝑠 + 0.9602 (1) 1+2𝑧 −1 +𝑧 −2 1+2𝑧 −1 +𝑧 −2


…( )( )
1−0.7396𝑧 −1 +0.2069𝑧 −2 1−0.6905𝑧 −1 +0.1267𝑧 −2
11𝜋 21𝜋
(𝑠 − 0.9799𝑒 𝑗 16 ) (𝑠 − 0.9799𝑒 𝑗 16 )
Donde 0.0003373 = (0.1746)(0.14)(0.1216)(0.1135)
2
𝑠 − 1.0888𝑠 + 0.9602 (2)
Universidad Don Bosco, Facultad de Ingeniería, Escuela de ingeniería electrónica, Sistemas y Señales Discretos. 3

∑𝑀𝑚=0 𝑏𝑚𝑧
−𝑚
𝑏0 + 𝑏1 𝑧 −1 + 𝑏2 𝑧 −2 + ⋯ + 𝑏𝑀 𝑧 −𝑀 -4 - 1.815 z^-5 + 0.5399 z^-6 - 0.09479 z^-7
𝐻(𝑧) = 𝑁 =
1 − ∑𝑛=1 𝑎𝑛𝑧 −𝑛 1 − 𝑎1 𝑧 −1 − 𝑎2 𝑧 −2 − ⋯ − 𝑎𝑁 𝑧 −𝑁 + 0.007488 z^-8

1 2 1 1 1.062 -0.7328 Sample time: 1 seconds


1 2 1 1 0.8517 -0.3898 Discrete-time transfer function.
1 2 1 1 0.7396 -0.2069
>> bode(H)
1 2 1 1 0.6905 -0.1267
Gain: 0.0003373

VII. SIMULACIÓN EN MATLAB

>> H1=(0.1746)*(tf([1 2 1],[1 -1.062 0.7328],1,'variable','z^-1'))

H1 =

0.1746 + 0.3492 z^-1 + 0.1746 z^-2


----------------------------------
1 - 1.062 z^-1 + 0.7328 z^-2

Sample time: 1 seconds


Discrete-time transfer function.
Utilizando la herramienta fdatool podemos simular el filtro
>> H2=(0.14)*(tf([1 2 1],[1 -0.8517 0.3898],1,'variable','z^-1'))

H2 =

0.14 + 0.28 z^-1 + 0.14 z^-2


-----------------------------
1 - 0.8517 z^-1 + 0.3898 z^-2

Sample time: 1 seconds


Discrete-time transfer function.

>> H3=(0.1216)*(tf([1 2 1],[1 -0.7396 0.2069],1,'variable','z^-1'))

H3 =

0.1216 + 0.2432 z^-1 + 0.1216 z^-2


----------------------------------
1 - 0.7396 z^-1 + 0.2069 z^-2

Sample time: 1 seconds


Discrete-time transfer function.

>> H4=(0.1135)*(tf([1 2 1],[1 -0.6905 0.1267],1,'variable','z^-1'))

H4 =
Magnitude Response (dB)
0.1135 + 0.227 z^-1 + 0.1135 z^-2
0
---------------------------------
1 - 0.6905 z^-1 + 0.1267 z^-2 -50

-100
Sample time: 1 seconds
Magnitude (dB)

-150
Discrete-time transfer function.
-200

>> H=H1*H2*H3*H4 -250

H= -300

-350
0 1 2 3 4 5
Frequency (kHz)
0.0003374 + 0.002699 z^-1 + 0.009446 z^-2 + 0.01889 z^-3 Coeficientes del simulador
+ 0.02362 z^-4 + 0.01889 z^-5 + 0.009446 z^

-6 + 0.002699 z^-7 + 0.0003374 z^-8

-------------------------------------------------------------

1 - 3.344 z^-1 + 5.608 z^-2 - 5.789 z^-3 + 3.961 z^


Universidad Don Bosco, Facultad de Ingeniería, Escuela de ingeniería electrónica, Sistemas y Señales Discretos. 4

VIII. CONCLUSIONES
Podemos concluir basados en la experiencia de la realización
del presente trabajo que con herramientas adecuadas y cálculos
precisos se puede diseñar con cierto grado de facilidad y en un
tiempo relativamente pequeño un filtro de Butterworth por
medio del método de la transformada bilineal.

Concluimos también que el uso de herramientas de software


matemático como MATLAB constituyem un invaluable recurso
en el cálculo, diseño e implementación de filtros digitales dado
que ahorran tiempo y cantidad de cálculos mientras presentan
una respuesta fiel al comportamiento real del filtro diseñado.

Potrebbero piacerti anche