Академический Документы
Профессиональный Документы
Культура Документы
Terminología y Clasificación
❒ El término filtro digital lo entenderemos como cualquier pro-
cesamiento realizado en una señal de entrada digital.
❒ Un filtro digital es la implementación en hardware o software
de una ecuación diferencia.
❒ Ventajas de los filtros digitales
◆ Alta inmunidad al ruido
◆ Alta precisión (limitada por los errores de redondeo en la aritmética
empleada
◆ Fácil modificación de las características del filtro
◆ Muy bajo coste (y bajando)
❒ Por estas razones, los filtros digitales están reemplazando
rápidamente a los filtros analógicos.
Terminología y Clasificación
❒ Clasificación de los Filtros Digitales
◆ Filtros FIR (Finite Impulse Response)
Terminología y Clasificación
◆ Filtros IIR (Infinite Impulse Response)
Veremos dos variaciones de este tipo de filtros: AR y ARMA
Filtros AR (Autoregresivo)
✦ La ecuación diferencia que describe un filtro AR es
y[n ] + A1 y[n − 1] + A2 y[n − 2 ]++ AN y[n − N ] = x[n] , lo que da lugar a una
función de transferencia
1
H (z ) =
1 + A1 z −1 + A2 z −2 ++ AN z − N
Terminología y Clasificación
Filtros ARMA (Autoregresivo y Media en Movimiento)
✦ Es el filtro más general y es una combinación de los filtros MA y AR
descritos anteriormente. La ecuación diferencia que descibe un filtro
ARMA de orden N es
y[n] + A1 y[n − 1] + A2 y[n − 2]++ AN y[n − N ]
= B0 x[n] + B1 x[n − 1]++ BM x[n − M ]
Y la función de transferencia
B0 + B1 z −1 ++ BM z − M
H (z ) =
1 + A1 z −1 ++ AN z − N
✦ Un filtro de este tipo se denota por ARMA(N,M), es decir es Autoregresi-
vo de orden N y Media en Movimiento de orden M.
✦ Su respuesta a impulso es también de duración infinita y por tanto es un
filtro del tipo IIR.
Terminología y Clasificación
Terminología y Clasificación
|H(s)| Filtro Pasobajo (LP) |H(s)| Filtro Parabanda (BS)
0 dB 0 dB
-3 dB -3 dB
f f
fc f1 f2
-3 dB -3 dB
f f
f1 f2 fc
Filtros IIR-Método I
❒ Técnicas de diseño de filtros IIR
◆ Mediante métodos de diseño analógico, seguido de una transformación
del plano s al plano z (Método I).
◆ Diseñar un prototipo de filtro pasobajo digital y hacer las oportunas
transformaciones (Método II)
❒ Método I
◆ Discutiremos este método para el diseño de filtros pasobajo. Empeza-
remos discutiendo el proceso de diseño de filtros analógicos para luego
transformarlo al dominio discreto.
◆ El diseño analógico se realiza a partir de unas especificaciones como
las dadas en la figura.
✦ δ1 es el rizado de pasabanda.
✦ δ2 es el rizado de parabanda
✦ fp es la frecuencia límite de pasabanda.
✦ fs es la frecuencia límite de parabanda.
Filtros IIR-Método I
|H(f)|
1
1 −δ 1
Banda de
Pasabanda
Transición
Parabanda
δ2
f
fp fs
1 + L2n (ν )
donde Ln(ν) es un polinomio de grado n.
1 + ε 2ν 2 n
① Normalizamos las frecuencias por la frecuencia límite de pasabanda fp, de
forma que νp=1 y νs=fs/fp.
δ 2 = 10 log H (ν ) ν =ν s = 10 log
2 1
1 + ε 2ν 2s n
= − 10 log (
1 + ε νs
2 2n
)
1
10 − 1
−0 .1δ 2 2 |H(f)|
log −0.1δ
10 1
− 1
n=
log ν s 1
1−δ 1
Banda de
Pasabanda
Transición
Parabanda
δ2
f
fp fs
En ν=1.2732/0.6366=2 10 − 1 2
2
✦
log
1 0.2589
−20 dB = 10 log ⇒n= = 4.289
1 + 0.2589 ⋅ 2 2 n log 2
Tomamos como orden del filtro el entero más cercano por arriba n=5.
② Filtro de Butterworth Normalizado : se normaliza con respecto a la
frecuencia ν3 (|H(ν3)|2= ½).
H N (ν ) = H (ν ν 3 ) =
2 2 1 1
=
1 + (ν ν 3 ) 1 + ν 2Nn
2n
H (s )H (− s ) = H N (ν N )ν 2 =−s 2 =
2 1
1 + (− s 2 )
N
n
pk = (σ 2k + ω 2k ) 2 = 1
1
0.5 0.5
0 σ 0 σ
-0.5 -0.5
-1 -1
= s − 2 sin(θ )s + 1
2
k
( n −1)/ 2
1 [
(s + 1) ∏ s + s(2 sin θ k ) + 1
2
]n impar
H N (s ) = , Q N (s ) = k =1
Q N (s )
[ ]
n/2
∏ s 2 + s(2 sin θ k ) + 1 n par
k =1
anterior.
✦ En el ejemplo teníamos n=5, fp=0.6366, fs=1.2732 y ε2=0.2589.
Calculamos ν3. H (ν 3 ) =
2 1 1
✦ = ⇒ ν 3 = 1145
.
1 + 0.2589ν 10
3 2
✦ De las tablas se obtiene 1
H N (s ) =
1 + 3.236 s + 5.236 s + 5.236 s + 3.236 s 4 + s 5
2 3
✦ HA(s)=HN(s/ωpν3)= HN(s/4.578)
H A (s) = H N (s 4.578) =
1
=
1 + 3.236(s 4.578) + 5.236(s 4.578) + 5.236(s 4.578) + 3.236(s 4.578) + (s 4.578)
2 3 4 5
1
=
1 + 0.7068s + 0.2498s 2 + 0.0546 s 3 + 0.0074 s 4 + 4.973 ⋅ 10 −4 s 5
100
1
0
0.8 -100
-200
0 0.5 1 1.5 2
0.6
unwrapped phase in degrees vs frequency in Hertz
0
0.4
-100
-200
0.2
-300
0 -400
0 0.5 1 1.5 2 0 0.5 1 1.5 2
Polinomios de Chebyshev
Tn(x)=cosh(ncosh-1x)
Orden n Tn(x)
0 1
1 x
2 2x2-1
3 4x3-3x
4 8x4-8x2+1
5 16x5-20x3+5x
6 32x6-48x4+18x2-1
7 64x7-112x5+56x3-7x
8 128x8-256x6+160x4-32x2+1
1 1
− As = 10 log = 10 log
(
1 + ε 2 cosh 2 n cosh −1 ν s )
1 + ε 2 cosh 2 n cosh −1 ν s ( )
[(10 ) ]
1
−1
−1 / ε
0 .1 As 2
2
cosh
3.6657
n= = = 2.7834 → n = 3
cosh −1 ν s 1.3169
1
=
1
−1
2 1 + ε cosh n cosh ν 3
2 2
⇒ ν 3 = cosh 1n cosh −1 ( ε1 ) = 1.0949 [ ]
1
◆ La magnitud del rizado en la pasabanda es 1 − = 0.1087
1+ ε 2
(2 k − 1)π
cos(nθ ) = 0 ⇒ θ k = k = 1,2,,2 n
2n
0.9 100
0.8 0
0.7 -100
0.6 -200
0 0.5 1 1.5 2
0.5
unwrapped phase in degrees vs frequency in Hertz
0.4 0
0.3
-100
0.2
-200
0.1
0 -300
0 0.5 1 1.5 2 0 0.5 1 1.5 2
10 − 1 0 .1 As 2
1
−1
cosh −1 99 2
ε 2
cosh
0.5849
n= = = 3.871 → n = 4
ωs −1
cosh −1 (1.3754
1 )
cosh
ω p
0.9 100
0.8 0
0.7 -100
0.6 -200
0 0.2 0.4 0.6 0.8 1 1.2
0.5
unwrapped phase in degrees vs frequency in Hertz
0.4 0
0.3 -200
0.2 -400
0.1 -600
0 -800
0 0.2 0.4 0.6 0.8 1 1.2 0 0.2 0.4 0.6 0.8 1 1.2
|Η(ν )|2
|Η(ν )|2
ν ν ν
1 + ε 2 Tn2 (1 ν )
ε 2 Tn2 (1 ν ) 1 1
H (ν ) = 1 − H (1 ν ) = = =
2 2
1 + ε 2 Tn2 (1 ν ) [ ]
1 + 1 ε 2 Tn2 (1 ν ) 1 + Ln (ν )
2
2
cosh −1
1
n=
(
0.1 Ap
10 − 1 )
ε 2
ε
cosh −1 ω s ω p )
( 1+ε2
ω
ωp ωs
1 + ε 2 Tn2 (1 ν ) s j
ν=
Esta vez no solo tendremos polos en HN(s) sino también ceros.
✦ Los polos se calculan de forma parecida al filtro Chebyshev I,
α = n1 sinh −1 ( ε1 )
(2 k − 1)π
cos(nθ ) = 0 ⇒ θ k = k = 1,2,,2 n
2n
1 pk = − sin(θ k ) sinh(α ) + j cos(θ k ) cosh(α ) k = 1,2,, n
H N (s ) = K
PN (s)
=K
( s 2 + ω 12 )(s 2 + ω 22 )(s 2 + ω 2m )
m = int( 12 n)
Q N (s ) ( s − p1 )(s − p2 )(s − pn )
PN (0)
K=
QN (0)
−1 1 2
cosh 0.1 Ap
1 10( − 1 ε 2
)
ε =
2
= 0.0101 n= = 2.78 → n = 3
10 0.1 As − 1 cosh −1 (ω ω )
s p
α = ( 1n ) sinh −1 ( ε1 ) = 0.9977
1 s1 = − sinh(0.9977) sin( π6 ) + j cosh(0.9977) cos(π6 ) = −0.5859 + j1.3341
1 s2 = − sinh(0.9977) sin( π2 ) + j cosh(0.9977) cos(π2 ) = −11717
.
1 s3 = − sinh(0.9977) sin( 56π ) + j cosh(0.9977) cos( 56π ) = −0.5859 − j1.3341
s1 = −0.276 − j 0.6284
s2 = −0.8535 (
QN (s ) = (s + 0.8535) s + 0.552 s + 0.4711
2
)
s3 = −0.276 + j 0.6284
HN (s) = 0.3016
( s + 1.3333)
2
HA (s) = 2.4128
(s + 85.3312)
2
=
(2.412 s + 205.867)
2
100
1
0
0.8 -100
-200
0 0.5 1 1.5 2
0.6
unwrapped phase in degrees vs frequency in Hertz
0
0.4
-50
-100
0.2
-150
0 -200
0 0.5 1 1.5 2 0 0.5 1 1.5 2
cosh 0.1 Ap
1 10( 2
)
− 1 ε
ε =
2
= 0.0101 n= = 3.87 → n = 4
10 0.1 As − 1 cosh −1 (ω s ω p )
QN (0)
K= = 0.1 ⇒
PN (0)
( s 2 + 11716
. )( s 2 + 6.8284)
H N (s) = 0.1
(s 2
)(
+ 0.4112 s + 0.6552 s 2 + 1.8502 s + 1.2209 )
s 4 + 8s 2 + 8
= 0.1
s 4 + 2.2614s 3 + 2.6369s 2 + 1.7143s + 0.8
s 2 − ω 2x s 2 − 2.1635
Haciendo la transformación a pasabanda s → =
sBw 1.202 s
100
1
0
0.8 -100
-200
0 0.2 0.4 0.6 0.8 1 1.2
0.6
unwrapped phase in degrees vs frequency in Hertz
400
0.4
200
0
0.2
-200
0 -400
0 0.2 0.4 0.6 0.8 1 1.2 0 0.2 0.4 0.6 0.8 1 1.2
Filtros IIR-Método I
◆ Una vez estudiadas las técnicas de diseño de filtros analógicos retoma-
mos el objetivo inicial de este tema, que era transformar las funciones de
Transferencia de los filtros del plano s al plano z. En esto consistía el
Método I de diseño de filtros digitales.
◆ Hay varios métodos para transformar una función de s en otra función de
z. Estamos interesados en transformaciones que hagan que la función en z
sea también racional. Esto hace que las transformaciones que vamos a ver
son sólo aproximaciones.
◆ Una transformación s→ z debe cumplir dos condiciones fundamentales,
✦ Estabilidad: la mitad izquierda del plano s debe transformarse dentro del
círculo unidad en el plano z.
✦ A cada frecuencia analógica dentro del intervalo (-∞, ∞) le debe corresponder
una única frecuencia digital en el intervalo (- fs/2, fs/2). Esto evita el problema
del “aliasing”.
Filtros IIR-Método I
◆ Los métodos que vamos a ver son :
✦ Igualar las respuestas temporales como un impuso, un escalón, una rampa,
etc. (Transformación Invariante a la Respuesta).
✦ Igualar términos en una H(s) factorizada (Transformada Z Pareada).
✦ Conversión de ecuaciones diferenciales a ecuaciones diferencia utilizando
operadores diferencia.
✦ Integración numérica de ecuaciones diferenciales usando algoritmos de
integración.
✦ Aproximaciones racionales a z→ exp(sts) o s→ (1/ts)ln(z).
7 0.7
6 0.6
5 0.5
4 0.4
3 0.3
2 0.2
1 0.1
0 0
0 0.1 0.2 0.3 0.4 0.5 0 1 2 3 4 5
100 100
0 0
-100 -100
-200 -200
0 0.1 0.2 0.3 0.4 0.5 0 1 2 3 4 5
unwrapped phase in degrees vs digital frequency F unwrapped phase in degrees vs frequency in Hertz
0 0
-100 -100
-200 -200
-300 -300
0 0.1 0.2 0.3 0.4 0.5 0 1 2 3 4 5
∏ (s − zi ) ( N−M)
∏
H (s ) = K 0 i =1
→ H (z ) = K ⋅ z i =1
∏ [z − exp( pk t s )]
N N
∏ (s − pk )
k =1 k =1
(s + p − jq)(s + p + jq) →
[ z 2 − 2 ze − pts cos(qt s ) + e −2 pts ]
z2
( )( )
H z Kz
(
(s + 1) s 2 + 4 s + 5) z − e − ts z 2 − 2 ze −2 ts cos(t s ) + e −4 ts
Modificaciones ts = 0.1s
K (z + 1)3 390 ⋅ 10 −6 (z + 1)3
H1 (z ) = =
(z − 0.9048)(z 2 − 1.6293z + 0.67) z 3 − 2.5341z 2 + 2.1442 z − 0.6062
Kz(z + 1)2 780 ⋅ 10 −6 z(z + 1)2
H 2 (z ) = =
(
(z − 0.9048) z 2 − 1.6293z + 0.67 ) z 3 − 2.5341z 2 + 2.1442 z − 0.6062
0.7 0.7
0.6 0.6
0.5 0.5
0.4 0.4
0.3 0.3
0.2 0.2
0.1 0.1
0 0
0 1 2 3 4 5 0 0.1 0.2 0.3 0.4 0.5
100 100
0 0
-100 -100
-200 -200
0 1 2 3 4 5 0 0.1 0.2 0.3 0.4 0.5
unwrapped phase in degrees vs frequency in Hertz unwrapped phase in degrees vs digital frequency F
0 0
-100 -100
-200 -200
-300 -300
0 1 2 3 4 5 0 0.1 0.2 0.3 0.4 0.5
ecuación diferencia.
◆ Existen varias formas de calcular la derivada a partir de datos discretos
(Tabla).
Algoritmos para la Diferenciación Discreta
Diferencia Algoritmo Transformación
x[n] − x[n −1] z −1
Hacia Atrás y[n] = s→
ts zts
x[n + 1] − x[n − 1] z2 − 1
Central y[n] = s→
2ts 2 zts
x[n + 1] − x[n] z −1
Hacia Adelante y[n] = s→
ts ts
y[n] = y[n − 1] +
{x[n] − x[n − 1]}ts
Trapezoidal(1)
2
y[n] = y[n − 1] +
{5 x[n] + 8 x[n − 1] − x[n − 2]}ts
Adams(2)
12
y[n] = y[n − 1] +
{9 x[n] + 19 x[n − 1] − 5 x[n − 2] + x[n − 3]}ts
Adams(3)
24
y[n] = y[n − 2] +
{x[n] + 4 x[n − 1] + x[n − 2]}ts
Simpsom(2)
3
Tick(2) y[n] = y[n − 2] + {0.3584 x[n] + 1.2832 x[n − 1] + 0.3584 x[n − 2]}ts
1 − (σ + jω ) (1 − σ ) − jω (1 − σ ) 2 + ω 2
lo que implica que un punto de la mitad del plano s donde σ < 0, se
transforma en un punto dentro del círculo unidad en el plano z. Por lo
tanto, un diseño estable en s, será también estable en z bajo la
transformación bilineal. Además, no hay aliasing, ya que a cada
frecuencia analógica le corresponde una única frecuencia digital.
◆ Estas expresiones nos indican que existe una distorsión en las frecuen-
cias cuando se hace la Transformación Bilineal. El rango entero de
frecuencias analógicas se mapea con frecuencias digitales entre -fs/2 y
fs/2. Hay una compresión de frecuencias o una distorsión frecuencial
(la relación es no-lineal). Para compensarlo, lo que se hace es predis-
torsionar (prewarping) las especificaciones del filtro analógico original
mediante la ecuación (Ω es la frecuencia digital, 2πf/fs):
2 ω t 2 ω 2 Ω
ωA = tan D s = tan D = tan
ts 2 ts 2 f s ts 2
3·(z+1)2/(31z2-26z+7)
❒ Ejemplo 2 : El filtro H(s)=(s2+1)/(s2+4s+1) tiene una frecuencia de corte
de 1rad/s. Diseñar un filtro digital cuya respuesta a fD=60Hz sea igual a la
de H(s) en ωA=1 rad/s, siendo fs=240Hz.
◆ ωX = 2 fs tan(ωD / 2fs) = 480 tan(2π60/480) = 480 rad/s
◆ HX(s)=H(sωA/ωX)=H(s/480)
◆ H(z)=HX(s)|s=480·(z-1)/(z+1)= (z2+1)/(3z2-1)
◆ HX(s)=H(sωA/ωX)=H(19.919s)
◆ H(z)=HX(s)|s=2·(z-1)/(z+1)= H(19.919s)|s=2· (z-1)/(z+1)
z 3 + 3z 2 + 3z + 1
H (z ) =
2236.73z 3 − 6204.64 z 2 + 5811.52 z − 1835.6
0.9 100
0.8 0
0.7 -100
0.6 -200
0 0.1 0.2 0.3 0.4 0.5
0.5
unwrapped phase in degrees vs digital frequency F
0.4 0
0.3 -100
0.2 -200
0.1 -300
0 -400
0 0.1 0.2 0.3 0.4 0.5 0 0.1 0.2 0.3 0.4 0.5
0.9 100
0.8 0
0.7 -100
0.6 -200
0 2 4 6 8 10
0.5
unwrapped phase in degrees vs frequency in Hertz
0.4 0
0.3
-100
0.2
-200
0.1
0 -300
0 2 4 6 8 10 0 2 4 6 8 10
ω1 = 2 tan(2π 16
. 24) = 0.89
ω2 = 2 tan(2π 18
. 24) = 1019
.
ω3 = 2 tan(2π 3.2 24) = 2.221
ω4 = 2 tan(2π 4.8 24) = 6155
.
◆ Diseñamos el filtro, 0.3411s 4
H ( s) = 8
s + 0.8608 s 7 + 10.89 s 6 + 6.74 s 5 + 39.38 s 4 + 15.26 s 3 + 55.67 s 2 + 9.98 s + 26.24
◆ Se hace la transformación s→ 2 (z-1)/(z+1)
0.0024 z 8 − 0.0096z 6 + 0.0144 z 4 − 0.0096z 2 + 0.0024
H ( z) =
z 8 − 1.938z 7 + 4.435z 6 − 5.073z 5 + 6.239 z 4 − 4.464 z 3 + 3.438z 2 − 1.304 z + 0.5928
Filtros IIR-Método I
Analog(:) Predistorsión(-) and Sin Predistorsión(--) Spectrum vs f in Hz
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0 1000 2000 3000 4000 5000 6000
0 dB
-20 dB-1
Magnitud (dB)
-40 dB
❒ Existe otra función llamada “filtfilt”, que funciona de la misma manera que
“filter”, pero hace dos filtrados. Primero filtra el vector x, y su respuesta la rota y
le vuelve a aplicar el mismo filtro. La respuesta final evita la distorsión de fase
propia de los filtros IIR. Más detalles en el Help de MATLAB.
>> y = filtfilt(B,A,x)
Apéndice
Transformaciones desde un
Prototipo Pasobajo
Tabla 1
Transformación Regla Comentarios
LP2LP s→s/ωx ωx= ωnew/ ωold
LP2HP s→ ωx/s ωx= ωnew/ ωold
s 2 + ω 2x ωx=frecuencia central
LP2BP s→
sBw Bw=ω2-ω1, ω1ω2=ωx2
sB ωx=frecuencia central
LP2SP s→ 2 w 2
s +ωx Bw=ω2-ω1, ω1ω2= ωx2
Transformaciones a un
Prototipo Pasobajo
Tabla 2
Transformación de un Prototipo de Filtro Pasobajo a Filtros Pasabanda y Parabanda:
[ω1 ω2 ω3 ω4 ]=frecuencias en los bordes de las bandas. En los filtros Pasabanda, los bordes
pasabanda son ω2 y ω3 . En los filtros Parabanda, los bordes pasabanda son ω1 y ω4.
Requerimientos Frecuencia Central Elección de frecuenaias en los
bordes de la banda
Fijadas ω2,ω3 ω x 2= ω 2ω 3 Si ω1ω4< ωx2 , ω1= ωx2/ω4
Si ω1ω4>ωx2 , ω4= ωx2/ω1
Fijadas ω1,ω4 ω x 2= ω 1ω 4 Si ω2ω3<ωx2 , ω3= ωx2/ω2
Si ω2ω3>ωx2 , ω2= ωx2/ω3
Fijada ωx ωx Si ω1ω4< ωx2 , ω1= ωx2/ω4
Si ω1ω4>ωx2 , ω4= ωx2/ω1
Compromiso ωx2= (ω1ω2ω3ω4)1/2 Si ω1ω4>ω2ω3 , ω3=ωx2/ω2 ω4=ωx2/ω1
Si ω1ω4<ω2ω3 , ω2=ωx2/ω3 ω1=ωx2/ω4