1

5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Diseño
Diseño
de
de
Filtros Digitales
Filtros Digitales
(
(
Parte
Parte
2)
2)
Ì Ì Filtros Filtros FIR FIR
x x Secuencias Simétricas Secuencias Simétricas
x x Técnicas Técnicas de de Diseño Diseño de de Filtros Filtros FIR FIR
3 3 Método Método de de las las Series de Fourier Series de Fourier
3 3 Método Método de de Muestreo Muestreo en en Frecuencia Frecuencia
3 3 Métodos Iterativos basados Métodos Iterativos basados en en condiciones óptimas condiciones óptimas
x x Diseño Diseño de de Filtros Filtros FIR con MATLAB FIR con MATLAB
2
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Secuencias Simétricas
Secuencias Simétricas
Ì El diseño de filtros FIR requieren la selección de la secuencia que mejor
representa la respuesta a impulso de un filtro ideal.
Ì Los filtros FIR son siempre estables y son capaces de tener una respuesta
de fase que es lineal, lo que equivale a decir que su respuesta tiene un
retraso constante.
Ì El mayor problema de los filtros FIR es que para unas especificaciones
dadas requieren un filtro de orden mucho mayor que los filtros IIR.
Ì Un filtro FIR de longitud M con entrada x[n] y salida y[n] se describe
mediante la ecuación diferencia:
donde b
k
son los coeficientes del filtro.
[ ] [ ] [ ] [ ] [ ] y n b x n b x n b x n M b x n k
M k
k
M
· + − + + − + · −

·


0 1 1
0
1
1 1
3
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Secuencias Simétricas
Secuencias Simétricas
Ì Por otra parte podemos expresar la salida del filtro y[n] como una
convolución de la entrada x[n] con la respuesta a impulso del filtro h[n]:
Ì Ya que estas dos ecuaciones son idénticas, y por tanto, los coeficientes
b
k
=h[k].
Ì Se puede demostrar que la respuesta de un filtro FIR es de fase lineal si los
coeficientes h[n] cumplen :
Es decir los coeficientes tienen algún tipo de simetría.
Ì La función de Transferencia Z del filtro FIR, aplicando esta condición es :
[ ] [ ] [ ] y n h k x n k
k
M
· ⋅ −
·


0
1
[ ] [ ] h n h M n n M · t − − · − 1 0 1 1 , , ,
( ) [ ] [ ] [ ] [ ] [ ]
( )
[ ]
( )
( )
[ ]
( ) ( )
[ ]
( )
( )
[ ]
( ) ( )
[ ]
( )

par
impar
2
1
1 2 2 1 0
2 / 1
0
2 / 2 1 2 / 2 1 2 / 1
2 / 3
0
2 / 2 1 2 / 2 1 2 / 1
1 2 2 1
1
0
¹
¹
¹
¹
¹
'
¹
t
¹
'
¹
¹
'
¹
t +
]
]
]


·
· ⋅ − + ⋅ − + + ⋅ + ⋅ + · ⋅ ·




·
− − − − − − −

·
− − − − − − −
− − − − − −

·

M z z k h z
M z z k h
M
h z
z M h z M h z h z h h z k h z H
M
k
k M k M M
M
k
k M k M M
M M
M
k
k

4
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Secuencias Simétricas
Secuencias Simétricas
Ì De esta última expresión se deduce que
lo que significa que la raíces de H(z) son las mismas que las de H(z
-1
). Es
decir las raíces (en este caso, los ceros) ocurren en pares recíprocos. Si z
1
es un cero de H(z), 1/z
1
es también un cero.
Además, si z
1
es un cero complejo, su conjugado z
1
*
es también un cero,
así como 1/z
1
*
.
( )
( )
( )
z H z H z
M − − −
· t
1 1
-1 -0.5 0 0.5 1 1.5 2 2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
5
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Secuencias Simétricas
Secuencias Simétricas
Ì La longitud N de una secuencia simétrica puede ser par o impar. Esto
significa que el punto medio cae en un punto de la secuencia si N es impar
y entre dos puntos si N es par. Como tengo dos tipos de simetría (par o
impar), tendré cuatro posibles tipos de secuencias simétricas, las cuales se
muestran en la Tabla 1 junto con la DTFT de cada secuencia.
Secuencias Simétricas
L=½(N-1), M=½N, F es la frecuecia digital=f/f
s
, donde f
s
es la frecuencia de muestreo
Tipo Simetría N H(F) |H(0)| |H(½)|
1 Par Impar [ ] [ ] ( ) h h k k F
k
L
0 2 2
1
+
·

cos π [ ] [ ] h h k
k
L
0 2
1
+
·

[ ] ( ) [ ] h h k
k
k
L
0 2 1
1
+ −
·

2 Par Par
[ ] ( ) [ ]

·

M
k
k F k h
1
2
1
2 cos 2 π
[ ] 2
1
h k
k
L
·

0
3 Impar Impar [ ] ( ) −
·

j h k k F
k
L
2 2
1
sin π
0 0
4 Impar Par
[ ] ( ) [ ]

·
− −
M
k
k F k h j
1
2
1
2 sin 2 π 0
( ) [ ] − −
·

2 1
1
k
k
M
h k
4
Tabla 1: Secuencias Simétricas
6
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Secuencias Simétricas
Secuencias Simétricas
Ì De esta tabla se pueden sacar las siguientes conclusiones acerca de la
aplicabilidad de cada una de los tipos de secuencia.
x Para las secuencias del tipo 2 |H(½)|=0, por lo que sólo pueden ser
utilizadas para filtros pasabaja y pasabanda.
x Las secuencias del tipo 3 (|H(0)|=0=|H(½)|) sólo pueden ser utilizadas
para filtros pasabanda.
x Las secuencias tipo 4 (|H(0)|=0) son apropiadas para filtros pasaalta y
pasabanda.
x La secuencia tipo 1 puede implementar cualquier tipo de filtro. Es el
único tipo capaz de realizar filtros parabanda.
Aplicaciones de las Secuencias Simétricas
Tipo |H(F)| Aplicación
1 Todo tipo de filtros
2 |H(½)=0| Sólo LP y BP
3 |H(0)|=0=|H(½)| Sólo BP
4 |H(0)=0| Sólo HP y BP
7
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
Ì Hay tres métodos de diseño de filtros FIR:
x Método de las Series de Fourier.
x Método del Muestreo en Frecuencia.
x Métodos Iterativos basados en condiciones óptimas de diseño.
Ì Método de las Series de Fourier
x El método se basa en seleccionar la respuesta a impulso h
N
[n] como
una versión truncada de la respuesta a impulso h[n] de un filtro ideal
con repuesta frecuencial H(F).
x Proceso de Diseño de Filtros FIR por este método:
3 Normalización de frecuencias por la frecuencia de muestreo.
3 Conversión de especificaciones a la de un Prototipo de Filtro Pasobajo.
3 Truncamiento de la respuesta a impulso de un filtro ideal h[n]=2F
C
sinc(2nF
C
) a
h
N
[n] de longitud N. El orden del filtro es N-1.
3 Selecionar una ventana w[n] de N puntos para obtener h
w
[n]=h
N
[n]· w[n] .
3 Convertir del Protipo de Filtro Pasobajo al Filtro deseado h
F
[n].
3 Retrasar h
F
[n] para asegurarse que el filtro es causal.
8
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
Ì Nos planteamos realizar un filtro pasobajo ideal (digital) con una frecuencia de corte F
c
, tal y
como indica la figura.
F
F
c
- F
c
| H(F)|
1
0. 5 0. 5
Si expresamos matemáticamente la respuesta frecuencial
deseada:
( )
H F
e F F
F F
d
j F N
c
c
·

>
¹
'
¹
− − 2 1 2
0
π ( )/


Haciendo la Transformada inversa de Fourier discreta en
el tiempo de esta función H
d
(F), nos queda:
[ ] ( )
h n
F
H F e dF e dF
j
N
n
e
j
j
N
n
F
N
n F
F
N
s
d
j Fn
j F
N
n
F
F j F
N
n
F
F
c c
c
c
c
c
c
· ⋅ · ·



|
.

`
,

]
]
]
·
·




|
.

`
,




|
.

`
,

]
]
]
·




|
.

`
,

− −



|
.

`
,


∫ ∫
1 1
2
1
2
2
2
1
2
2
1
2
2
2
1
2
2
2
1
2
1 2
1 2 2
1
2 π
π π
π
π
π
π
sin
sin −
|
.

`
,

]
]
]


|
.

`
,

·
·


|
.

`
,

]
]
]
n
F
N
n
F F
N
n
c
c c
2
1
2
2 2
1
2
π
sinc
9
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
Ì La función sinc(x) está definida para todo valor de x, y además decae muy
lentamente. Utilizar los valores de h[n] definidos por la ecuación anterior como
coeficientes del filtro FIR, dará lugar a sobreimpulsos en la respuesta frecuencial
del filtro. Debido a la lentitud de la función sinc(x), necesitaré un filtro de elevado
orden (gran número de puntos) para diseñar filtros con transiciones rápidas entre
bandas.
0 5 10 15 20 25
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
10
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
x Necesidad de utilizar ventanas espectrales : El truncamiento de h[n] equivale a
multiplicar h[n] por una ventana rectangular w[n] de longitud N. El espectro
de h
N
[n]=h[n]· w[n] es la convolución de H(F) y W(F). La función W(F) va a
producir rizados y sobreimpulsos en la señal de salida, de la misma forma que
se producía el efecto Gibbs al reconstruir una señal discontinua con un número
finito de coeficientes espectrales. Aquí el efecto Gibbs se da en el dominio
frecuencial al usar un truncamineto de la respuesta a impulso. Para reducir los
efectos de un truncamiento abrupto se utilizan ventanas espectrales que
tienden a suavizar esos efectos.
x Por ejemplo, en el caso de una ventana rectangular, en la que w[n]=1, para
n=0,...,N-1, la DTFT es,
( ) [ ] ( )
( )
( )
( ) F
FN
e
e e
e e
e
e
e
e
e e e k w F W
N F j
F j F j
N F j N F j
F j
N F j
F j
FN j
N
k
k
F j
N
k
Fk j
N
k
Fk j
π
π
π
π π
π π
π
π
π
π
π π π
sin
sin
1
1
2 1 2
2 2 2 2
2 2 2 2
2 2
2 2
2
2
1
0
2
1
0
2
1
0
2
⋅ ·


⋅ ·
·


· · · ⋅ ·
− −







·


·


·

∑ ∑ ∑
11
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
x El módulo de esta función (llamada función de Dirichlet) se muestra en la
figura de la página siguiente.
x Las ventanas más comunmente utilizadas en el diseño de filtros FIR están
listadas en la Tabla 2. Sus características espectrales principales se especifican
en la Tabla 3.
x De los espectros de las ventanas se hacen notar dos cosas:
3 El ancho del lóbulo principal y el de transición decrece al aumentar N.
3 La amplitud de los lóbulos de los lados permanece constante con N.
x Idealmente el espectro de una ventana debe estar confinado en el lóbulo
principal, sin casi energía en los lóbulos de los lados.
12
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
x A continuación se muestran algunas ventanas espectrales y sus espectros
0 0.1 0.2 0.3 0.4 0.5
-50
-45
-40
-35
-30
-25
-20
-15
-10
-5
0
Frecuencia Digital f/fs
0 0.1 0.2 0.3 0.4 0.5
-80
-70
-60
-50
-40
-30
-20
-10
0
Frecuencia Digital f/fs
-10 -5 0 5 10
0
0.2
0.4
0.6
0.8
1
Indice n
-10 -5 0 5 10
0
0.2
0.4
0.6
0.8
1
Indice n
Boxcar
Hamming
13
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
0 0.1 0.2 0.3 0.4 0.5
-80
-70
-60
-50
-40
-30
-20
-10
0
Frecuencia Digital f/fs
0 0.1 0.2 0.3 0.4 0.5
-80
-70
-60
-50
-40
-30
-20
-10
0
Frecuencia Digital f/fs
-10 -5 0 5 10
0
0.2
0.4
0.6
0.8
1
Indice n
-10 -5 0 5 10
0
0.2
0.4
0.6
0.8
1
Indice n
vonHann
Blackman
14
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
0 0.1 0.2 0.3 0.4 0.5
-80
-70
-60
-50
-40
-30
-20
-10
0
Frecuencia Digital f/fs
0 0.1 0.2 0.3 0.4 0.5
-80
-70
-60
-50
-40
-30
-20
-10
0
Frecuencia Digital f/fs
-10 -5 0 5 10
0
0.2
0.4
0.6
0.8
1
Indice n
-10 -5 0 5 10
0
0.2
0.4
0.6
0.8
1
Indice n
Bartlett
Papoulis
15
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
0 0.1 0.2 0.3 0.4 0.5
-80
-70
-60
-50
-40
-30
-20
-10
0
Frecuencia Digital f/fs
0 0.1 0.2 0.3 0.4 0.5
-80
-70
-60
-50
-40
-30
-20
-10
0
Frecuencia Digital f/fs
-10 -5 0 5 10
0
0.2
0.4
0.6
0.8
1
Indice n
-10 -5 0 5 10
0
0.2
0.4
0.6
0.8
1
Indice n
Kaiser
β=2
Parzen-2
16
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
x Las ventanas más utilizadas son vonHann, Hamming y Kaiser.
x A la hora de escoger la ventana adecuada tendremos un cuenta dos
criterios principales de diseño :
1 Asegurarse que el parámetro P
S
de la ventana esté por encima de la
atenuación A
s
especificada para la parabanda del filtro. Como mucho
puede estar unos 8 dB por encima. Es decir P
s
≥ A
s
-8.
2 Una transición más ancha permite utilizar un filtro de menor orden, pero a
costa de una menor atenuación en los lóbulos.
x Ejemplo: Diseñar un filtro FIR pasobajo con una frecuencia de corte
de 5KHz y una frecuencia de muestreo de 20KHz.
h
N
[n]=2F
C
sinc(2nF
C
)=2· (5/20)· sinc(2n5/20)=0.5· sinc(0.5n).
(a) Con N=9, -4≤n≤4, y una ventana tipo Bartlett :
[ ] [ ] { ¦ { ¦
[ ] { ¦ { ¦
[ ] { ¦ [ ] [ ] { ¦ { ¦ 0 , 0265 . 0 , 0 , 2387 . 0 , 5 . 0 , 2387 . 0 , 0 , 0265 . 0 , 0
0 , 1061 . 0 , 0 , 3183 . 0 , 5 . 0 , 3183 . 0 , 0 , 1061 . 0 , 0
0 , 1 , 2 , 3 , 4 , 3 , 2 , 1 , 0
4
1
1
2
1
− − · ·
− − ·
· →

− ·
n w n h n h
n h
n w
N
n
n w
N W
N
17
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
Para que el filtro sea causal tendremos que retrasar 4 muestreos, por lo
que el filtro a aplicar es:
Como el primer muestreo de h
W
[n]=0, podemos hacer
(b) Con N=6, -2.5≤ n≤ 2.5 y una ventana vonHann
( ) H z z z z z z
z z z z z
· − + + + + + − + ·
· − + + + −
− − − − −
− − − − −
0 0 0265 0 0 2387 0 5 0 2387 0 0 0265 0
0 0265 0 2387 0 5 0 2387 0 0265
1 3 4 5 7
1 3 4 5 7
. . . . .
. . . . .
( ) H z z z z z · − + + + −
− − − −
0 0265 0 2387 0 5 0 2387 0 0265
2 3 4 6
. . . . .
[ ] ( )
[ ]
[ ] { ¦ { ¦
[ ]
{ ¦
{ ¦
[ ]
{ ¦
[ ] [ ]
{ ¦
{ ¦
( )
w n n N
w n
h n
h n h n w n
H z z z z
N
W N
· + −
·
· − −
· ·
· + + +
− − −
0 5 0 5 2 1
0 0 3455 0 9045 0 9045 0 3455 0
0 09 01501 0 4502 0 4502 01501 0 09
0 0 0518 0 4072 0 4072 0 0518 0
0 0518 0 4072 0 4072 0 0518
1 2 3
. . cos
, . , . , . , . ,
. , . , . , . , . , .
, . , . , . , . ,
. . . .
π
18
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
0 0.1 0.2 0.3 0.4 0.5
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
magnitude vs digital frequency F
0 0.1 0.2 0.3 0.4 0.5
-200
-100
0
100
200
phase in degrees vs digital frequency F
0 0.1 0.2 0.3 0.4 0.5
-600
-400
-200
0
unwrapped phase in degrees vs digital frequency F
0 0.1 0.2 0.3 0.4 0.5
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
magnitude vs digital frequency F
0 0.1 0.2 0.3 0.4 0.5
-200
-100
0
100
200
phase in degrees vs digital frequency F
0 0.1 0.2 0.3 0.4 0.5
-300
-200
-100
0
unwrapped phase in degrees vs digital frequency F
Bartlett
N=9
vonHann
N=6
19
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
Parámetro β Atenuación en lóbulo
de los lados (dB)
Ancho de Banda de
la Transición
Máximo Rizado en
Parabanda (dB
2.0 -19 2π 1.5/N -29
3.0 -24
2π 2.0/N
-37
4.0 -30 2π 2.6/N -45
5.0 -37
2π 3.2/N
-54
6.0 -44 2π 3.8/N -63
7.0 -51
2π 4.5/N
-72
8.0 -59 2π 5.1/N -81
9.0 -67
2π 5.7/N
-90
10.0 -74 2π 6.4/N -99
Window Atenuación en lóbulo
de los lados (dB)
Ancho de Banda de
la Transición
Máximo Rizado en
Parabanda (dB)
Rectangular -13
2π 0.9/N
-21
Hanning -31 2π 3.1/N -44
Hamming -41
2π 3.3/N
-53
Blackman -57
2π 5.5/N
-74
Características de la ventana Kaiser para distintos parámetros
Características de algunas ventanas espectrales
20
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
Ì Podemos estimar la longitud del filtro (N) a partir del ancho de banda en la
transición (∆ω). Por ejemplo, si se pide un filtro con una transición entre ω
p
y ω
s
,
llamamos banda de transición a la diferencia normalizada por la frecuencia de
muestreo F
m
, entre las frecuencias de parabanda y pasabanda (en rad/s),
Ì Para el caso de un filtro de Kaiser hay que calcular la longitud del filtro y el valor
del parámetro β. Esto se realiza mediantes las siguientes ecuaciones,
( )
F
k k
N
N
k
F
m
p s

·

≈ ⇒ ·

· ∆
ω
π π
ω ω
ω
2 2
( )
( ) ( )
¹
'
¹
< < − ⋅ + − ⋅
≥ − ⋅
·
∆ ⋅


50 20 , 21 07886 . 0 21 5842 . 0
50 , 7 . 8 1102 . 0
36 . 14
95 . 7
4 . 0
s s s
s s
s
A A A
A A
F
A
N
β
21
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
x Otro criterio es tomar N de acuerdo a la siguiente fórmula, donde W
S
es la mitad de la anchura del lóbulo principal (Tabla 2), y F
p
y F
s
la
frecuencias digitales de pasabanda y parabanda.
x Transformaciones Espectrales : Se trata de convertir diseños de filtros
pasobajo a otras formas y viceversa. Las tablas 1 y 2 del apéndice
muestran todas las posibles transformaciones.
Ejemplo : Diseñar un filtro pasobajo con las siguientes especificaciones
f
p
=1KHz, f
s
=2KHz, S
f
=10KHz, A
p
=2 dB y A
s
=40dB.
x Las frecuencias digitales son F
p
=f
p
/S
f
=0.1, F
s
=f
s
/S
f
=0.2. Aplicando este
último criterio y acudiendo a las tablas vemos que de acuerdo a los valores de
P
S
, los filtros más adecuados son vonHann, Hamming y Blackman. Aplicando
la fórmula de N para cada uno de estos filtros obtenemos,
( )
N
W
F F
S
s p


22
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
29 1 . 0 82 . 2 : Blackman
20 1 . 0 91 . 1 : Hamming
19 1 . 0 87 . 1 : vonHann
≈ ·
≈ ·
≈ ·
N
N
N
A partir de aquí procedemos por el científico méto-
do de intentar y errar. De la Tabla 1, obtenemos
h
N
[n] para una frecuencia de corte que no se nos
[ ]
( )
( ) h n F nF n
N C C
· · 2 2 0 24sinc 0 24 sinc . .
especifica claramente. Sólo se nos da las frecuencias en los bordes de la pasaban-
da y la parabanda. Por ello escogemos una frecuencia de corte un 20% superior a
f
p
, es decir f
C
=1.2 KHz.
Ahora se intenta con cada uno de los filtros partiendo de la longitud calculada y
se observa si se cumplen las especificaciones. En caso de no cumplirse, debe au-
mentarse el orden del filtro o modificar la frecuencia de corte elegida y volver
comprobar las especificaciones. Este proceso ha sido utilizado en este problema
y hemos llegado a los siguientes resultados:
vonHann: N=23 F
C
=0.137 Ap=1.9 dB As=40dB
Hamming: N=23 F
C
=0.132 Ap=1.58 dB As=40.1dB
Blackman: N=29 F
C
=0.128 Ap=1.98 dB As=40.1dB
El filtro Blackman tiene la mayor longitud y un mayor ancho de transición pero
el nivel de los lóbulos de los lados es el menor.
23
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
-140
-120
-100
-80
-60
-40
-20
0
20
Frecuencia Digital
vonhann - hamming - blackman
M
a
g
n
i
t
u
d

(
d
B
)
24
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
Ejemplo : Diseñar un filtro pasabanda con las siguientes especificaciones:
Pasabanda [4,8]KHz, Parabanda [2,12]KHz A
p
=3dB A
s
=45dB S
F
=25KHz
Calculamos primero la frecuencia central f
0
=6KHz. Para hacer que la Paraban-
da tenga una frecuencia central igual a la Pasabanda por lo que cambiamos la
frecuencia de 12KHz por una frecuancia de 10KHz. Normalizamos las frecuen-
cias y aplicamos las fórmulas de la Tabla 2, para pasarlo al protipo pasobajo :
PasaBanda[0.16,0.32] ParaBanda[0.08,0.4] F
0
=0.24
F
p
=(F
p2
-F
p1
)/2=0.08 F
s
=(F
s2
-F
s1
)/2=0.16
Utilizamos el filtro de Hamming, para el que N≈ W
S
/(F
s
-F
p
)≈ 24 y comenzamos
el proceso de intentar y errar hasta que llegamos a una solución aceptable. Una
vez determinada la secuencia h
w
[n] que especifica el filtro, lo convertimos a un
filtro pasabanda a través de la relación de la Tabla 1:
h
BP
[n]=2cos(2πnF
0
)· h
w
[n]=2cos(0.48πn)· h
w
[n].
El resultado final obtenido es un filtro con N=27, F
C
=0.0956, A
p
=3.01dB a
4 KHz y 8 KHz, A
s
=45.01dB a 2KHz y 73.47 dB a 12 KHz.
25
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
-120
-100
-80
-60
-40
-20
0
Frecuencia Digital
Filtro Pasabanda usando una ventana de Hamming
26
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
x Filtros FIR de Media Banda : Veamos qué sucede si diseñamos un
filtro pasabaja en el que la frecuencia de corte es F
C
=0.25. La respues-
ta a impulso es h[n]=2F
C
sinc(2nF
C
)=0.5sinc(0.5n), de forma que si el
orden N es impar, h[n]=0 para n par (ver ejemplo T11). En este caso
la frecuencia de muestreo debe ser S
F
=4f
c
(o 4f
0
). La función de
Transferencia H(F) tiene antisimetría respecto a F=0.25 :
H(F)=1-H(0.25-F)
Filtros de Media Banda usando la ventana Kaiser : Para esta ventana
con N=9 y β=0.5,
w[n]={0.5818,0.7497,0.8838,0.9702,1,0.9702,0.8838,0.7497,0.5818},
y h
N
[n]· w[n]={0,-0.0795,0,0.3088,0.5, 0.3088,0,-0.0795,0}=h
w
[n].
H(z)=-0.0795+0.3088z
-2
+0.5z
-3
+0.3088z
-4
-0.0795z
-6
.
Este tipo de filtros con la ventana Kaiser muestra un rizado tanto en la
pasabanda (δ
p
) como en la parabanda (δ
s
). Estos dependerán de las
atenuaciones especificadas en las dos bandas. Con estos datos se
diseña la ventana Kaiser con el parámetro β más adecuado.
27
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
Dos importantes características de los filtros de media banda son :
3 Su implementación requiere sólo de aprox. N/2 multiplicadores debido a
los ceros de los coeficientes del filtro.
3 Se puede obtener un filtro pasoalto a partir del espectro complementario :
H
HP
(z)=z
-(N-1)/2
H
co
(z).
1+δ
p
1-δ
p
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
Frecuencia Digital
δ
s
−δ
s
28
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
Ejemplo : Diseñar un filtro parabanda de media banda con las siguientes
especificaciones : Parabanda [2 KHz-3 KHz], Pasabanda [1 KHz-4 KHz],
A
p
=1dB y A
s
=50dB.
3 Calculamos la frecuencia de muestreo necesaria para realizar el filtro.
S
F
=4f
0
=4(3+2)/2=10 KHz.
3 Ahora se determinar las frecuencias digitales Fp y Fs de acuerdo con la
Tabla 2, diseñandose un prototipo de filtro pasabaja.
3 Una vez obtenido se transforma a un filtro parabanda con las expresiones de
la Tabla 1. El resultado final para un filtro de este tipo con una ventana
Kaiser es : N=31, A
p
=0.046 dB a 2 KHz y 3 KHz y A
s
=53.02 dB a 1 y 4
KHz.
x Los pasos a realizar no se muestran explicitamente puesto que este tipo de dise-
ño se realiza de forma automática por métodos de CAD. En concreto, haremos
estos diseños utilizando MATLAB. Especificaremos el tipo de filtro a realizar
(pasobajo, pasoalto, etc), la frecuencia de muestreo, las frecuancias de pasaban-
da y parabanda y sus respectivas atenuaciones, así como el tipo de ventana que
deseamos utilizar. Con estos datos el programa realiza el diseño del filtro pro-
porcionando el orden, los coeficientes y las especificaciones reales del filtro.
29
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
-100
-90
-80
-70
-60
-50
-40
-30
-20
-10
0
Digital Freq F
kaiser window: n = 31 Fc = 0.1 ap = -0.04629 as = -53.02
30
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
Ì Método del Muestreo Frecuencial
x Se trata de reconstruir el espectro continuo X(F) de una señal discreta a
partir de los muestreos de la función X(F). El espectro reconstruido
X
N
(F) será igual a X(F) sólo en las frecuencias de muestreo.
x Se puede considerar el DFT de la señal h
N
[n] de longitud N como N
muestreos de su DTFT (H(F)) en F=k/N, k=0,1,...,N-1.
La respuesta a impulso h
N
[n] se calcula con el IDFT,
x Proceso de diseño
3 Los muestreos deben hacerse en un periodo (0,1) de la extensión periódica
de H(F).
3 La fase de H(F) es lineal y por tanto cada uno de los muestreos tiene una
fase dada por φ(k)=-πk(N-1)/N, k=1,...,N.
( ) [ ] ( ) [ ] [ ] ( ) H F h n j nF dF H k h n j nk N
N N N N
k
N
· · −


·

exp exp 2 2
0
1
0
1
π π
[ ] [ ] ( ) h n
N
H k j nk N
N N
k
N
·
·


1
2
0
1
exp π
31
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
3 Para minimizar el efecto Gibbs en las discontinuidades, permitimos que
los valores de muestreo varíen lentamente en las discontinuidades.
3 Ejemplo : Diseñar un filtro pasobajo dado por la respuesta frecuencial de
la figura.
3 Tomamos 10 muestras. La fase de cada una de las muestras es -πk(N-1)/N
– H[0]=1 H[1]=exp(-j0.9π) H[2]=exp(-j1.8π) H[3]=0 H[4]=0 H[5]=0.
– H[1]=-0.9511-j0.3090 H[2]=0.8090+j0.5878.
– Los valores H[5] ... H[9] se calculan teniendo en cuenta que la respuesta
frecuencial debe ser simétrica en módulo y asimétrica en fase: H[6]=0
H[7]=0 H[8]= 0.8090-j0.5878 H[9]=-0.9511+j0.3090.
– Haciendo la IDFT de estos H[k] obtenemos la secuencia h[n],
h[n]={0.0716,-0.0794,-0.1,0.1558,0.452,0.452,0.1558,-0.1,-0.0794 ,0.0716}
– En la respuesta frecuencial de este filtro se observa que efectivamente pasa
por los puntos de muestreo pero a costa de un sobreimpulso. Para suavizarlo,
se puede sustituir los muestreos H[3] por 0.5exp(-j2.7π). Haciendo el IDFT
de la nueva secuencia de muestreos H[k] obtenemos el filtro,
h[n]={0.0128,0.0157,-0.1,0.0606,0.5108,0.5108,0.0606, -0.1,0.0157,0.0128}
32
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
0
0.2
0.4
0.6
0.8
1
1.2
Frecuencia Digital
Filtro Pasobajo usando Muestreo Frecuencial
33
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
x Podemos combinar las ventajas del diseño con ventanas estudiado an-
teriormente y el método de muestreo frecuencial para tener un método
de diseño de filtros de respuesta frecuencial arbitraria.
x Se muestrea la respuesta frecuencial deseada con un número alto de
puntos (M=512). Hacemos el IDFT y obtenemos la respuesta h[n].
3 h[n] es demasiado largo, así que debemos truncarlo a una secuencia más
pequeña con una ventana.
3 Si el diseño no cumple las especificaciones podemos cambiar N, el ancho
de pasabanda o ajustar los muestreos en la zona de transición.
Ì Métodos Basados en criterios de optimización
x Se trata de utilizar criterios para minimizar el máximo error en la apro-
ximación. Hay tres importantes conceptos en diseño óptimo,
x El error entre la aprox. H(F) y la respuesta deseada D(F) debe tener
igual rizado.
34
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
3 La respuesta frecuencial H(F) de un filtro cuya respuesta a impulso h[n]
es una secuencia simétrica puede ponerse como
donde M está relacionado con la longitud del filtro N. Esta forma es un
polinomio de Chebyshev. Debemos escogerα
n
para que el diseño se
óptimo.
3 El teorema de la alternancia ofrece una pista para seleccionarα
n
.
x El Teorema de la Alternancia : Aproximamos D(F) por una forma
polinomial de Chebyshev obteniendo H(F). Se define el error
ponderado en la aproximación ε(F) como ε(F)=W(F)[D(F)-H(F)]
El teorema dice que se pueden encontrar al menos M+2 frecuencias
F
k
, k=1,2,...,M+2 llamadas frecuencias extremas donde
3 El error varía entre dos máximos y mínimos iguales
ε(F
k
) = -ε(F
k+1
) k=1,2,...,M+1
3 El error en la frecuencia F
k
es igual al máximo error absoluto.
|ε(F
k
)|=|ε(F)|
max
k=1,2,...,M+2
( ) ( ) ( ) H F F nF
n
k
M
·
·

α π cos 2
0
35
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
Existe un algoritmo llamado Parks-McClellan (PM) para determinar
esas frecuencias. Este algoritmo necesita los siguientes datos: las
frecuencias F
p
y F
s
, la relación δ
1

2
de los errores en la pasabanda y
en la parabanda y la longitud N del filtro. Devuelve los coeficientes α
n
y los valores reales de δ
1
y δ
2
.
El filtro parabanda diseñado anteriormente ha sido rediseñado
utilizando este algoritmo. El resultado es un filtro de N=21,
δ
1
=0.2225dB y δ
2
=56.79 dB.
La respuesta frecuencial se muestra en la figura.
36
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
-80
-70
-60
-50
-40
-30
-20
-10
0
Digital Frequency F
Length N = 21 PB/SB Attn from 0dB = [ 0.2225 56.79 ] dB
37
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Técnicas
Técnicas
de
de
Diseño
Diseño
de
de
Filtros
Filtros
FIR
FIR
x Filtros FIR de horizontalidad máxima
3 Se trata de diseñar un filtro cuyas 2L-1 derivadas en F=0 y sus 2K-1
derivadas en F=0.5 sean cero. La longitud del filtro viene dada por
N=2(K+L)-1 y es por tanto impar. Los enteros K y L se determinan a
partir de las frecuencias de pasabanda y parabanda que corresponden a
atenuaciones de 0.5 dB y 26 dB.
3 Por ejemplo, se pide un filtro pasobajo cuyas frecuencias digitales F
p
=0.2
y F
s
=0.4. Obtenemos un filtro de N=27.
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
0
0.2
0.4
0.6
0.8
1
1.2
Frecuencia Digital
Filtro Pasobajo de Horizontalidad Máxima
38
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Diseño
Diseño
de
de
Filtros
Filtros
FIR con MATLAB
FIR con MATLAB
Ì Funciones de MATLAB para realizar filtros FIR:
x Función FIR1
>> B = fir1(N,Wn,type,window);
Diseña un filtro FIR pasobajo de orden N (longitud N+1) y
frecuencia de corte Wn (normalizada con respecto a la frecuencia
de Nyquists, 0 ≤ Wn ≤ 1). Se pueden especificar otro tipo de
filtros de la misma forma que con los filtros IIR mediante el
parámetro type. Por ejemplo, para un filtro parabanda:
>> B = fir1(N,[W1 W2],'stop');
Por defecto la función FIR usa la ventana de Hamming. Otro tipo
de ventanas pueden también especificarse:
>> B = fir1(N,Wn,bartlett(N+1));
>> B = fir1(N,Wn,'high',chebwin(N+1,R));
x Función FIR2
>> B = fir2(N,F,M,window);
Diseña un filtro FIR utilizando el método del muestreo
frecuencial. Los parámetros de entrada es el orden del filtro N
(longitud N+1) y dos vectores F y M que especifican la
frecuencia y la magnitud, de forma que “plot(F,M)” es una
gráfica de la respuesta deseada del filtro.
39
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Diseño
Diseño
de
de
Filtros
Filtros
FIR con MATLAB
FIR con MATLAB
Se pueden indicar saltos bruscos en la respuesta frecuencial
duplicando el valor de la frecuencia de corte.
F debe estar entre 0 y 1, en orden creciente, siendo el primer
elemento igual a 0 y el último 1. El parámetro window indica el
tipo de ventana a utilizar. Por defecto, usa la ventana de
Hamming.
>> B = fir2(N,F,M,’bartlett(N+1)’);
Se pueden especificar más parámetros en esta función,
>> B = fir2(N,F,M,npt,lap,window);
La función fir2 interpola la respuesta frecuencial deseada (F,M)
con npt puntos (por defecto, npt=512). Si dos valores sucesivos
de F son iguales, se crea una región de lap puntos alrededor de
este punto (por defecto, lap=25).
x Función FIRLS
>> B = firls(N,F,M);
Diseño de filtros FIR usando la minimización del error por
mínimos cuadrados. Los argumentos de entrada son el orden del
filtro N, y dos vectores F y M, cuyo formato difiere de los
análogos en la función fir2. El filtro obtenido es la mejor
aproximación a (F,M) por mínimos cuadrados.
40
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Diseño
Diseño
de
de
Filtros
Filtros
FIR con MATLAB
FIR con MATLAB
F es un vector que indica los límites de las bandas de
frecuencia en parejas (por tanto el tamaño de F debe ser par), y
en orden ascendente entre 0 y 1. M es un vector del mismo tamaño
que F que indica la magnitud deseada para cada banda de
frecuencias. La respuesta deseada es la línea que conecta los
puntos (F(k),M(k)) y (F(k+1),M(k+1)) para k impar. Las bandas de
frecuencia entre F(k+1) y F(k+2) para k impar son tratadas por
firls como bandas de transición.
También existe un argumento opcional que consiste en un vector W
cuyo tamaño es la mitad de F. W es un factor de ponderación del
error para cada banda de frecuencias.
>> B = firls(N,F,M,W);
F( 1) =0 F( 2) F( 6) =1 F( 5) F( 4) F( 3)
Bandas de
Tr ansi ci ón
F
H( F)
M( 1)
M( 6)
M( 5)
M( 4)
M( 3)
M( 2)
41
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Diseño
Diseño
de
de
Filtros
Filtros
FIR con MATLAB
FIR con MATLAB
x Algoritmo de Parks-McClellan
Hay dos funciones en MATLAB para realizar este algoritmo: remezord
y remez.
>> [N,Fo,Mo,W] = remezord(F,M,DEV,Fs)
Calcula el orden N, las bandas de frecuencia normalizadas Fo,
las magnitudes en esas bandas Mo y los factores de ponderación W
que luego serán utilizados como argumentos de entrada de la
función remez. Estos valores cumplen las especificaciones dadas
por F, M, DEV. F es un vector de frecuencias de corte en Hz, en
orden ascendente entre 0 y Fs/2. Si no se especifica Fs, Fs=2
por defecto. El primer elemento de F es siempre 0 y el último es
siempre Fs/2, pero no deben ser especificados en el vector F. El
vector M indica la respuesta deseada en cada banda. Por tanto,
el vector M tiene un tamaño igual a (length(F)+2)/2. DEV es un
vector que indica el máximo rizado permitido en cada banda. Ver
la gráfica de la página siguiente.
>> b = remez(N,Fo,Mo,W);
Con los valores obtenidos en la función remezord, podemos
implemantar el algoritmo de Parks-McClellan. Fo y Mo son dos
vectores de igual magnitud. Fo(k) y Fo(k+1) k impar especifica
bandas de frecuencia y Mo(k) y Mo(k+1) la correspondiente
magnitud para cada frecuencia. El filtro obtenido es la mejor
aproximación por minimax.
42
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Diseño
Diseño
de
de
Filtros
Filtros
FIR con MATLAB
FIR con MATLAB
F=0 F( 1) F=F
s
/ 2 F( 4) F( 3) F( 2)
Bandas de
Tr ans i ci ón
F
H( F)
M( 1)
M( 3)
M( 2)
x Ejemplo 1: Diseñar un filtro FIR pasabanda a frecuencias de 30 Hz y 3500 Hz
por cada uno de los diferentes métodos. Utilizar un mismo orden de filtro (por
ejemplo N=44) y comparar las respuestas frecuenciales.
x >> N=44;Fs=11020;Fny=Fs/2;
>> Bfir1 = fir1(N,[30 3500]/Fny);
>> Bfir2 = fir2(N,[0 10 30 3500 3600 Fny]/Fny,[0 0 1 1 0 0]);
>> Bfirls = firls(N,[0 10 30 3500 3600 Fny]/Fny,[0 0 1 1 0 0]);
>> Bremez = remez(N,[0 10 30 3500 3600 Fny]/Fny,[0 0 1 1 0 0]);
43
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Diseño
Diseño
de
de
Filtros
Filtros
FIR con MATLAB
FIR con MATLAB
>> F=0:10:5000;
>> Hfir1=abs(freqz(Bfir1,1,F,Fs);
>> Hfir2=abs(freqz(Bfir2,1,F,Fs);
>> Hfirls=abs(freqz(Bfirls,1,F,Fs);
>> Hremez=abs(freqz(Bremez,1,F,Fs);
>> semilogy(F,Hfir1,'r',F,Hfir2,'g',F,Hfirls,'y',F,Hremez,'m');
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
10
-6
10
-5
10
-4
10
-3
10
-2
10
-1
10
0
10
1
Respuesta frecuencial: -- fir1, -- fir2, -- firls, -- remez
44
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Apéndice
Apéndice
Tablas Tablas de de Transformaciones Espectrales Transformaciones Espectrales
45
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Transformaciones de Filtros pasobajo
Tipo H(F) ideal Respuesta a Impulso
h[n]
Pasobajo ( )
( )
H F F F
LP C
· rect 2
[ ] ( )
h n F nF
LP C C
· 2 2 sinc
Pasoalto ( ) ( ) H F H F
HP LP
·1-
[ ] [ ] [ ] h n n h n
HP LP
· − δ
Pasoalto ( ) ( ) ( )
[ ]
H F H F F F
HP LP C
· − ·
1
2
1
2
2 rect -
( ) [ ] −1
n
LP
h n
Pasabanda
( )
( )
[ ]
( )
[ ]
H F
F F F
F F F
BP
C
C
·
+ +

rect
rect
0
0
2
2
( ) [ ] n h nF
LP 0
2 cos 2 π
Parabanda
( ) ( ) H F H F
BS BP
· − 1 [ ] [ ] δ n h n
BP

Tabla 1
46
5º Curso-Tratamiento Digital de Señal
Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17/11/99
Transformaciones a Prototipos de Pasobajo
F
p1
, F
p2
, F
s1
y F
s2
= límites de pasabanda y parabanda, F
0
= Frecuencia Central
Para BS y BP se asume que tienen simetría respecto a F
0
Transformación
Límite de
Pasabanda
Límite de
Parabanda
Frecuencia Central
HP2LP
F F
p sHP
· F F
s pHP
· Si h
HP
[n]=δ[n]-h
LP
[n]
HP2LP pHP p
F F − ·
2
1
sHP s
F F − ·
2
1
Si h
HP
[n]=(−1)
n
h[n]
BP2LP
( )
F F F
p p p
· −
1
2 2 1
( )
F F F
s s s
· −
1
2 2 1
( )
F F F
p p 0
1
2 2 1
· +
BS2LP
( )
F F F
p s s
· −
1
2 2 1
( )
F F F
s p p
· −
1
2 2 1
( )
F F F
p p 0
1
2 2 1
· +
Tabla 2

5º Curso-Tratamiento Digital de Señal

Secuencias Simétricas
Ì Ì

Ì

Ì

El diseño de filtros FIR requieren la selección de la secuencia que mejor representa la respuesta a impulso de un filtro ideal. Los filtros FIR son siempre estables y son capaces de tener una respuesta de fase que es lineal, lo que equivale a decir que su respuesta tiene un retraso constante. El mayor problema de los filtros FIR es que para unas especificaciones dadas requieren un filtro de orden mucho mayor que los filtros IIR. Un filtro FIR de longitud M con entrada x[n] y salida y[n] se describe mediante la ecuación diferencia:

y[ n] = b0 x[ n] + b1 x[ n − 1]++bM −1 x[ n − M + 1] =
donde bk son los coeficientes del filtro.

∑ b x[n − k ]
k =0 k

M −1

17/11/99

Capítulo 9: Diseño de Filtros Digitales (Parte 2)

2

5º Curso-Tratamiento Digital de Señal

Secuencias Simétricas
Ì

Por otra parte podemos expresar la salida del filtro y[n] como una convolución de la entrada x[n] con la respuesta a impulso del filtro h[n]:
y[ n] =
M −1 k =0

∑ h[ k ] ⋅ x[n − k ]

Ì

Ì

Ì

Ya que estas dos ecuaciones son idénticas, y por tanto, los coeficientes bk=h[k]. Se puede demostrar que la respuesta de un filtro FIR es de fase lineal si los coeficientes h[n] cumplen : h[ n ] = ± h[ M − 1 − n ] n = 0,1, , M − 1 Es decir los coeficientes tienen algún tipo de simetría. La función de Transferencia Z del filtro FIR, aplicando esta condición es :
H(z) = ∑h[k]⋅ z−k = h[0]+ h[1]⋅ z−1 + h[2]⋅ z−2 ++ h[M − 2]⋅ z−(M−2) + h[M −1]⋅ z−(M−1) =
k=0 M−1

 −(M−1)/ 2  M −1 (M−3)/ 2 (M−1−2k )/ 2 −(M−1−2k )/ 2  ±z h  M impar z  + ∑h[k] z    2  k=0  = (M−1)/ 2  z−(M−1)/ 2 ∑h[k] z(M−1−2k )/ 2 ± z−(M−1−2k )/ 2 M par  k=0 

[

]

[

]

17/11/99

Capítulo 9: Diseño de Filtros Digitales (Parte 2)

3

5º Curso-Tratamiento Digital de Señal

Secuencias Simétricas
Ì

H (z ) = ± H ( z ) De esta última expresión se deduce que z lo que significa que la raíces de H(z) son las mismas que las de H(z-1). Es decir las raíces (en este caso, los ceros) ocurren en pares recíprocos. Si z1 es un cero de H(z), 1/z1 es también un cero. Además, si z1 es un cero complejo, su conjugado z1* es también un cero, 2 *. así como 1/z1
− ( M −1) −1
1.5 1

0.5

0

-0.5

-1

-1.5

-2 -1

-0.5

0

0.5

1

1.5

2

2.5

17/11/99

Capítulo 9: Diseño de Filtros Digitales (Parte 2)

4

M=½N.5º Curso-Tratamiento Digital de Señal Secuencias Simétricas Ì La longitud N de una secuencia simétrica puede ser par o impar. F es la frecuecia digital=f/fs. donde fs es la frecuencia de muestreo Tipo Simetría N H(F) |H(0)| |H(½)| L L L h[0 ] + 2 ∑ k =1 h[k ]cos(2 kπF ) h[0 ] + 2 ∑ k =1 h[k ] h[0 ] + 2 ∑ k =1 (−1)k h[k ] 1 Par Impar 2 3 4 4 Par Impar Impar Par Impar Par 2 ∑ k =1 h [k ]cos [2π F (k − M 1 2 )] )] − j 2 ∑ k =1 h [k ]sin [2π F (k − M − j 2 ∑ k =1 h[k ]sin(2 kπF ) L 1 2 2 ∑ k =1 h[k ] L 0 0 −2 ∑ k =1 (−1)k h[k ] M 0 0 Tabla 1: Secuencias Simétricas 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 5 . Secuencias Simétricas L=½(N-1). Esto significa que el punto medio cae en un punto de la secuencia si N es impar y entre dos puntos si N es par. tendré cuatro posibles tipos de secuencias simétricas. Como tengo dos tipos de simetría (par o impar). las cuales se muestran en la Tabla 1 junto con la DTFT de cada secuencia.

Es el único tipo capaz de realizar filtros parabanda. x Las secuencias del tipo 3 (|H(0)|=0=|H(½)|) sólo pueden ser utilizadas para filtros pasabanda.5º Curso-Tratamiento Digital de Señal Secuencias Simétricas Ì De esta tabla se pueden sacar las siguientes conclusiones acerca de la aplicabilidad de cada una de los tipos de secuencia. Aplicaciones de las Secuencias Simétricas Tipo |H(F)| Aplicación 1 Todo tipo de filtros 2 |H(½)=0| Sólo LP y BP 3 |H(0)|=0=|H(½)| Sólo BP 4 |H(0)=0| Sólo HP y BP 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 6 . x La secuencia tipo 1 puede implementar cualquier tipo de filtro. por lo que sólo pueden ser utilizadas para filtros pasabaja y pasabanda. x Las secuencias tipo 4 (|H(0)|=0) son apropiadas para filtros pasaalta y pasabanda. x Para las secuencias del tipo 2 |H(½)|=0.

Conversión de especificaciones a la de un Prototipo de Filtro Pasobajo. Capítulo 9: Diseño de Filtros Digitales (Parte 2) 7 17/11/99 . Proceso de Diseño de Filtros FIR por este método: 3 3 3 Ì Método de las Series de Fourier x x 3 3 3 Normalización de frecuencias por la frecuencia de muestreo.5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR Ì Hay tres métodos de diseño de filtros FIR: x x x Método de las Series de Fourier. Truncamiento de la respuesta a impulso de un filtro ideal h[n]=2FCsinc(2nFC) a hN[n] de longitud N. Selecionar una ventana w[n] de N puntos para obtener hw[n]=hN[n]· w[n] . El orden del filtro es N-1. El método se basa en seleccionar la respuesta a impulso hN[n] como una versión truncada de la respuesta a impulso h[n] de un filtro ideal con repuesta frecuencial H(F). Métodos Iterativos basados en condiciones óptimas de diseño. Método del Muestreo en Frecuencia. Retrasar hF[n] para asegurarse que el filtro es causal. Convertir del Protipo de Filtro Pasobajo al Filtro deseado hF[n].

5 -F c Fc 0. tal y como indica la figura. |H(F)| 1 Si expresamos matemáticamente la respuesta frecuencial deseada: − j 2 πF ( N −1)/ 2 e Hd ( F ) =  0 F ≤ Fc F > Fc F 0.5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR Ì Nos planteamos realizar un filtro pasobajo ideal (digital) con una frecuencia de corte Fc. nos queda: Fc  N −1  − j 2 πF  −n  2  − Fc 1 h[ n] = Fs ∫ 12 −1 2 Hd ( F ) ⋅ e j 2 πFn dF = ∫ e  − j 2πF  N2−1 − n   c   1   dF = e  =  N −1    − Fc − j 2π  − n  2  F   N −1  − n  sin 2πFc   2  −2j   N −1   ⋅ sin 2πFc  − n  = 2 Fc = =  2   N −1   N −1   − n − j 2π  − n 2πFc   2   2    N −1  − n  = 2 Fc sinc 2 Fc     2 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 8 .5 Haciendo la Transformada inversa de Fourier discreta en el tiempo de esta función Hd(F).

1 0 -0.3 0. 0. y además decae muy lentamente.2 0.4 0. Utilizar los valores de h[n] definidos por la ecuación anterior como coeficientes del filtro FIR.1 -0.5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR Ì La función sinc(x) está definida para todo valor de x.2 0 5 10 15 20 25 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 9 . dará lugar a sobreimpulsos en la respuesta frecuencial del filtro. Debido a la lentitud de la función sinc(x). necesitaré un filtro de elevado orden (gran número de puntos) para diseñar filtros con transiciones rápidas entre bandas.5 0.

W (F ) = ∑ w[k ]⋅ e k =0 N −1 − j 2πFk = ∑e k =0 N −1 − j 2πFk =∑ e k =0 N −1 ( j 2πF − k ) e − j 2πF N 2 e j 2πF N 2 − e − j 2πF N 2 sin (πFN ) = − j 2π F 2 ⋅ j 2π F 2 − j 2π F 2 = e − j 2πF ( N −1) 2 ⋅ e e −e sin (πF ) 17/11/99 1 − e − j 2πFN = = − j 2πF 1− e Capítulo 9: Diseño de Filtros Digitales (Parte 2) 10 . la DTFT es. El espectro de hN[n]=h[n]·w[n] es la convolución de H(F) y W(F). en el caso de una ventana rectangular.. La función W(F) va a producir rizados y sobreimpulsos en la señal de salida. Por ejemplo. Aquí el efecto Gibbs se da en el dominio frecuencial al usar un truncamineto de la respuesta a impulso. de la misma forma que se producía el efecto Gibbs al reconstruir una señal discontinua con un número finito de coeficientes espectrales. para n=0. Para reducir los efectos de un truncamiento abrupto se utilizan ventanas espectrales que tienden a suavizar esos efectos. en la que w[n]=1..5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR x x Necesidad de utilizar ventanas espectrales : El truncamiento de h[n] equivale a multiplicar h[n] por una ventana rectangular w[n] de longitud N..N-1..

Idealmente el espectro de una ventana debe estar confinado en el lóbulo principal. sin casi energía en los lóbulos de los lados.5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR x x x x El módulo de esta función (llamada función de Dirichlet) se muestra en la figura de la página siguiente. 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 11 . 3 La amplitud de los lóbulos de los lados permanece constante con N. De los espectros de las ventanas se hacen notar dos cosas: 3 El ancho del lóbulo principal y el de transición decrece al aumentar N. Las ventanas más comunmente utilizadas en el diseño de filtros FIR están listadas en la Tabla 2. Sus características espectrales principales se especifican en la Tabla 3.

8 -30 0.2 0.2 0.2 0 Boxcar -25 -30 -35 -40 -45 -10 -5 Indice n 0 5 10 -50 0 0.1 0.5 0 -10 -20 0.8 0.1 Frecuencia Digital f/fs 0.4 0.2 -70 0 -80 0 -10 -5 Indice n 0 5 10 0.4 0.3 0.5 Frecuencia Digital f/fs 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 12 .4 0.6 0.4 0.6 1 Hamming -40 -50 -60 0.3 0.5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR x A continuación se muestran algunas ventanas espectrales y sus espectros 0 -5 1 -10 -15 -20 0.

4 0.3 0.4 0.6 1 vonHann -40 -50 -60 0.1 0.2 -70 0 -80 -10 -5 0 5 10 0 0.8 -30 0.5 Indice n Frecuencia Digital f/fs 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 13 .5 Indice n Frecuencia Digital f/fs 0 -10 -20 0.2 0.4 0.2 -70 0 -80 -10 -5 0 5 10 0 0.6 1 Blackman -40 -50 -60 0.8 -30 0.1 0.3 0.2 0.4 0.5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR 0 -10 -20 0.

3 0.4 0.1 0.6 1 Bartlett -40 -50 -60 0.1 0.5 Indice n Frecuencia Digital f/fs 0 -10 -20 0.6 1 Papoulis -40 -50 -60 0.3 0.2 -70 0 -80 -10 -5 0 5 10 0 0.8 -30 0.2 0.5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR 0 -10 -20 0.2 -70 0 -80 -10 -5 0 5 10 0 0.4 0.4 0.4 0.5 Indice n Frecuencia Digital f/fs 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 14 .2 0.8 -30 0.

4 Kaiser β=2 -40 -50 -60 0.4 0.2 0.6 1 0.4 0.3 0.2 -70 0 -80 -10 -5 0 5 10 0 0.2 -70 0 -80 -10 -5 0 5 10 0 0.4 0.8 -30 0.8 -30 0.1 0.1 0.5 Indice n Frecuencia Digital f/fs 0 -10 -20 0.5 Indice n Frecuencia Digital f/fs 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 15 .6 1 Parzen-2 -40 -50 -60 0.3 0.2 0.5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR 0 -10 -20 0.

Una transición más ancha permite utilizar un filtro de menor orden.−0. 2n → {w[n]} = 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 16 .4.0. (a) Con N=9. pero a costa de una menor atenuación en los lóbulos.3183.3.−0. Hamming y Kaiser. y una ventana tipo Bartlett : w[n] = 1 − { } {h [n]}= {h [n]w[n]}= {0.5n).0. hN[n]=2FCsinc(2nFC)=2·(5/20)·sinc(2n5/20)=0. Como mucho puede estar unos 8 dB por encima. Es decir Ps≥ As-8.0} N −1 4 hN [n] = {0.0.−0.0} W N 1 {0.5.5. -4≤n≤4.0.5· sinc(0.0.2.0.2387.1.1.10610.0265.−0.2.10610} .0.0.0265.0.3.3183. A la hora de escoger la ventana adecuada tendremos un cuenta dos criterios principales de diseño : 1 2 Asegurarse que el parámetro PS de la ventana esté por encima de la atenuación As especificada para la parabanda del filtro. .5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR x x Las ventanas más utilizadas son vonHann. x Ejemplo: Diseñar un filtro FIR pasobajo con una frecuencia de corte de 5KHz y una frecuencia de muestreo de 20KHz.2387.

09} W [n]} = {hN [n]w[n]} = {0.0. por lo que el filtro a aplicar es: H (z ) = 0 − 0.0.0} H (z ) = 0.5 y una ventana vonHann w[n] = 0. -2.0518.1501.0518z −3 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17 .0.0265z −1 + 0.4502.4072.4502.0.5z −3 + 0.5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR Para que el filtro sea causal tendremos que retrasar 4 muestreos.0518 + 0.0265z −1 + 0 + 0.0265z −6 (b) Con N=6.2387 z −5 + 0 − 0.0.0} {h {h N [n]} = {−0.4072 z −1 + 0.0.3455.9045. podemos hacer H (z ) = −0.1501.0265z −7 + 0 = = −0.0.5 cos[2 nπ ( N − 1)] {w[n]} = {0.9045.4072.0.2387z −4 − 0.5z −4 + 0.5≤ n≤ 2.5 + 0.0.09.2387z −3 + 0.3455.0265 + 0.5z −4 + 0.2387z −2 + 0.0.0518.4072 z −2 + 0.2387z −5 − 0.0.0.−0.0265z −7 Como el primer muestreo de hW[n]=0.2387z −3 + 0.

5 phase in degrees vs digital frequency F Bartlett N=9 unwrapped phase in degrees vs digital frequency F 0 -200 0 0.2 0.4 0.5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR magnitude vs digital frequency F 1 0.5 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 18 .3 0.5 0.4 0.2 0.1 0.4 0.1 0 0 0.5 -200 -300 200 100 0 -100 phase in degrees vs digital frequency F vonHann N=6 -200 0 0.3 0.1 0.9 0.1 0.4 0.8 0.7 0.6 0.9 0.3 0.8 0.3 0.2 0.5 -400 -600 200 100 0 -100 -200 0 0.3 0.4 0.2 0.2 0.3 0.6 0.3 0.3 0.7 0.4 0.4 0.4 0.2 0.1 0.5 0.1 0.2 0.1 0 0 0.5 magnitude vs digital frequency F 1 0.1 0.2 0.5 unwrapped phase in degrees vs digital frequency F 0 -100 0 0.

1/N 9.0/N 4.2/N 6.0 -54 -37 2π 3.0 -19 -29 2π 1.6/N 5.7/N 10.0 -59 -81 2π 5.0 -24 -37 2π 2.8/N 7.4/N 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 19 .0 -74 -99 2π 6.0 -51 -72 2π 4.5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR Características de algunas ventanas espectrales Window Atenuación en lóbulo Ancho de Banda de Máximo Rizado en de los lados (dB) la Transición Parabanda (dB) Rectangular -13 -21 2π 0.5/N Características de la ventana Kaiser para distintos parámetros Parámetro β Atenuación en lóbulo Ancho de Banda de Máximo Rizado en de los lados (dB) la Transición Parabanda (dB 2.5/N 8.3/N Blackman -57 -74 2π 5.1/N Hamming -53 -41 2π 3.5/N 3.0 -44 -63 2π 3.9/N Hanning -44 -31 2π 3.0 -90 -67 2π 5.0 -30 -45 2π 2.

07886 ⋅ (As − 21). si se pide un filtro con una transición entre ωp y ωs.4 0.1102 ⋅ (As − 8.95 14. entre las frecuencias de parabanda y pasabanda (en rad/s). (ω s − ω p ) = 2πk ⇒ N ≈ 2πk = k ∆ω = Fm N ∆ω ∆F Para el caso de un filtro de Kaiser hay que calcular la longitud del filtro y el valor del parámetro β.  β = 0. llamamos banda de transición a la diferencia normalizada por la frecuencia de muestreo Fm.5842 ⋅ (As − 21) + 0. Por ejemplo.7 ).5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR Ì Podemos estimar la longitud del filtro (N) a partir del ancho de banda en la transición (∆ω). Esto se realiza mediantes las siguientes ecuaciones.36 ⋅ ∆F 0. N≈ Ì As ≥ 50 20 < As < 50 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 20 . As − 7.

2.1. 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 21 . donde WS es la mitad de la anchura del lóbulo principal (Tabla 2). fs=2KHz. Fs=fs/Sf=0. los filtros más adecuados son vonHann. Aplicando este último criterio y acudiendo a las tablas vemos que de acuerdo a los valores de PS. x Las frecuencias digitales son Fp=fp/Sf=0. Aplicando la fórmula de N para cada uno de estos filtros obtenemos. y Fp y Fs la frecuencias digitales de pasabanda y parabanda. Ejemplo : Diseñar un filtro pasobajo con las siguientes especificaciones fp=1KHz. Ap=2 dB y As=40dB. N ≈ WS (F s − Fp ) x Transformaciones Espectrales : Se trata de convertir diseños de filtros pasobajo a otras formas y viceversa. Hamming y Blackman. Sf=10KHz. Las tablas 1 y 2 del apéndice muestran todas las posibles transformaciones.5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR x Otro criterio es tomar N de acuerdo a la siguiente fórmula.

24 n) Ahora se intenta con cada uno de los filtros partiendo de la longitud calculada y se observa si se cumplen las especificaciones.98 dB As=40.24sinc(0.1 ≈ 29 . debe aumentarse el orden del filtro o modificar la frecuencia de corte elegida y volver comprobar las especificaciones. obtenemos hN[n] para una frecuencia de corte que no se nos especifica claramente. Este proceso ha sido utilizado en este problema y hemos llegado a los siguientes resultados: As=40dB vonHann: N=23 FC=0.82 0.1 ≈ 19 Hamming : N = 1.1dB El filtro Blackman tiene la mayor longitud y un mayor ancho de transición pero el nivel de los lóbulos de los lados es el menor. es decir fC=1.58 dB As=40. hN [n] = 2 FC sinc(2 nFC ) = 0.2 KHz. De la Tabla 1. En caso de no cumplirse.1dB Blackman: N=29 FC =0. Por ello escogemos una frecuencia de corte un 20% superior a fp.128 Ap=1.132 Ap=1.91 0.1 ≈ 20 Blackman : N = 2.5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR A partir de aquí procedemos por el científico método de intentar y errar. Sólo se nos da las frecuencias en los bordes de la pasabanda y la parabanda.137 Ap=1.87 0.9 dB Hamming: N=23 FC =0. 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 22 vonHann : N = 1.

4 0.15 0.35 0.45 0.25 0.hamming .05 0.1 0.3 0.5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR 20 vonhann .2 0.blackman 0 -20 Magnitud (dB) -40 -60 -80 -100 -120 -140 0 0.5 Frecuencia Digital 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 23 .

para pasarlo al protipo pasobajo : PasaBanda[0. FC=0.16. lo convertimos a un filtro pasabanda a través de la relación de la Tabla 1: hBP[n]=2cos(2πnF0)·hw[n]=2cos(0. Para hacer que la Parabanda tenga una frecuencia central igual a la Pasabanda por lo que cambiamos la frecuencia de 12KHz por una frecuancia de 10KHz. Ap=3. Parabanda [2.12]KHz Ap=3dB As=45dB SF=25KHz Calculamos primero la frecuencia central f0=6KHz.0.0.48πn)·hw[n]. para el que N≈ WS/(Fs-Fp)≈ 24 y comenzamos el proceso de intentar y errar hasta que llegamos a una solución aceptable. Una vez determinada la secuencia hw[n] que especifica el filtro.32] ParaBanda[0.24 Fp=(Fp2-Fp1)/2=0.01dB a 2KHz y 73. Normalizamos las frecuencias y aplicamos las fórmulas de la Tabla 2.01dB a 4 KHz y 8 KHz.5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR Ejemplo : Diseñar un filtro pasabanda con las siguientes especificaciones: Pasabanda [4.0956.4] F0=0.47 dB a 12 KHz.16 Utilizamos el filtro de Hamming.08 Fs=(Fs2-Fs1)/2=0.8]KHz. As=45. El resultado final obtenido es un filtro con N=27. 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 24 .08.

5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR Filtro Pasabanda usando una ventana de Hamming 0 -20 -40 -60 -80 -100 -120 0 0.2 0.1 0.05 0.15 0.4 0.3 0.25 0.5 Frecuencia Digital 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 25 .35 0.45 0.

7497.25 : H(F)=1-H(0.3088. 0.0795z-6.0. La función de Transferencia H(F) tiene antisimetría respecto a F=0. La respuesta a impulso es h[n]=2FCsinc(2nFC)=0.25.0.25-F) Filtros de Media Banda usando la ventana Kaiser : Para esta ventana con N=9 y β=0. Capítulo 9: Diseño de Filtros Digitales (Parte 2) 26 17/11/99 .0795. En este caso la frecuencia de muestreo debe ser SF=4fc (o 4f0).0795+0.9702.0. w[n]={0.0.1.0.-0.3088z-2+0.5z-3+0.0.5.3088.0. H(z)=-0.-0.0. Estos dependerán de las atenuaciones especificadas en las dos bandas. h[n]=0 para n par (ver ejemplo T11).0.3088z-4-0. Este tipo de filtros con la ventana Kaiser muestra un rizado tanto en la pasabanda (δp) como en la parabanda (δs).8838.8838.5n). de forma que si el orden N es impar.0}=hw[n]. y hN[n]·w[n]={0.5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR x Filtros FIR de Media Banda : Veamos qué sucede si diseñamos un filtro pasabaja en el que la frecuencia de corte es FC=0.5818.0795.9702.7497. Con estos datos se diseña la ventana Kaiser con el parámetro β más adecuado.0.5818}.0.5sinc(0.5.

2 1+δp 1-δp 1 0.5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR 1.1 0. 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 27 .2 0 0.2 δs −δs 0 -0.4 0.25 0.05 0. N/2 multiplicadores debido a los ceros de los coeficientes del filtro. Se puede obtener un filtro pasoalto a partir del espectro complementario : HHP(z)=z-(N-1)/2Hco(z).35 0.3 0.2 0.8 0.45 0.6 0.15 0.5 Frecuencia Digital Dos importantes características de los filtros de media banda son : 3 3 Su implementación requiere sólo de aprox.4 0.

la frecuencia de muestreo.02 dB a 1 y 4 KHz. El resultado final para un filtro de este tipo con una ventana Kaiser es : N=31. Pasabanda [1 KHz-4 KHz]. etc). Los pasos a realizar no se muestran explicitamente puesto que este tipo de diseño se realiza de forma automática por métodos de CAD. Capítulo 9: Diseño de Filtros Digitales (Parte 2) 28 x 17/11/99 . SF=4f0=4(3+2)/2=10 KHz. así como el tipo de ventana que deseamos utilizar. Especificaremos el tipo de filtro a realizar (pasobajo. Ap=0. 3 Ahora se determinar las frecuencias digitales Fp y Fs de acuerdo con la Tabla 2. 3 Calculamos la frecuencia de muestreo necesaria para realizar el filtro.046 dB a 2 KHz y 3 KHz y As=53. Ap=1dB y As=50dB. Con estos datos el programa realiza el diseño del filtro proporcionando el orden. pasoalto.5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR Ejemplo : Diseñar un filtro parabanda de media banda con las siguientes especificaciones : Parabanda [2 KHz-3 KHz]. 3 Una vez obtenido se transforma a un filtro parabanda con las expresiones de la Tabla 1. En concreto. diseñandose un prototipo de filtro pasabaja. los coeficientes y las especificaciones reales del filtro. haremos estos diseños utilizando MATLAB. las frecuancias de pasabanda y parabanda y sus respectivas atenuaciones.

35 0.02 0 -10 -20 -30 -40 -50 -60 -70 -80 -90 -100 0 0.4 0.05 0.2 0.15 0.5 Digital Freq F 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 29 .5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR kaiser window: n = 31 Fc = 0.3 0.1 ap = -0.04629 as = -53.25 0.45 0.1 0.

El espectro reconstruido XN(F) será igual a X(F) sólo en las frecuencias de muestreo. Capítulo 9: Diseño de Filtros Digitales (Parte 2) 30 17/11/99 . La fase de H(F) es lineal y por tanto cada uno de los muestreos tiene una fase dada por φ(k)=-πk(N-1)/N. k=1. 1 N −1 hN [n] = ∑ H N [k ]exp( j 2πn k N ) N k =0 k =0 x Proceso de diseño 3 3 Los muestreos deben hacerse en un periodo (0.N-1..1... k=0.1) de la extensión periódica de H(F).... Se puede considerar el DFT de la señal hN[n] de longitud N como N muestreos de su DTFT (H(F)) en F=k/N. N −1 1 H N ( F ) = ∫ hN [n] exp( j 2πnF )dF H N [k ] = ∑ h N [n]exp(− j 2πn k N ) 0 La respuesta a impulso hN[n] se calcula con el IDFT..N..5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR Ì Método del Muestreo Frecuencial x x Se trata de reconstruir el espectro continuo X(F) de una señal discreta a partir de los muestreos de la función X(F).

8π) H[3]=0 H[4]=0 H[5]=0.0716} – En la respuesta frecuencial de este filtro se observa que efectivamente pasa por los puntos de muestreo pero a costa de un sobreimpulso. Tomamos 10 muestras.-0.452.-0.5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR 3 3 3 Para minimizar el efecto Gibbs en las discontinuidades.1. permitimos que los valores de muestreo varíen lentamente en las discontinuidades. h[n]={0.1.5108.5878 H[9]=-0.5108. H[9] se calculan teniendo en cuenta que la respuesta frecuencial debe ser simétrica en módulo y asimétrica en fase: H[6]=0 H[7]=0 H[8]= 0.0794 .0128} 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 31 . – H[1]=-0.452.3090 H[2]=0.0716.0..0.0. -0. Para suavizarlo. Haciendo el IDFT de la nueva secuencia de muestreos H[k] obtenemos el filtro.9π) H[2]=exp(-j1. – Los valores H[5] .5exp(-j2.1558.0128.0.-0.0.-0.0157.7π). se puede sustituir los muestreos H[3] por 0.8090-j0. – Haciendo la IDFT de estos H[k] obtenemos la secuencia h[n].0.0794.1558.0.0606.9511-j0.0157.1..3090.9511+j0.0.0.0.0. h[n]={0.0. La fase de cada una de las muestras es -πk(N-1)/N – H[0]=1 H[1]=exp(-j0.8090+j0.1.0606.-0. Ejemplo : Diseñar un filtro pasobajo dado por la respuesta frecuencial de la figura.5878.

15 0.35 0.4 0.2 0 0 0.5 Frecuencia Digital 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 32 .45 0.4 0.3 0.2 Filtro Pasobajo usando Muestreo Frecuencial 1 0.05 0.8 0.6 0.25 0.1 0.2 0.5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR 1.

Hacemos el IDFT y obtenemos la respuesta h[n]. 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 33 . el ancho de pasabanda o ajustar los muestreos en la zona de transición. 3 3 h[n] es demasiado largo.5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR x x Podemos combinar las ventajas del diseño con ventanas estudiado anteriormente y el método de muestreo frecuencial para tener un método de diseño de filtros de respuesta frecuencial arbitraria. H(F) y la respuesta deseada D(F) debe tener igual rizado. Si el diseño no cumple las especificaciones podemos cambiar N. Hay tres importantes conceptos en diseño óptimo. Se muestrea la respuesta frecuencial deseada con un número alto de puntos (M=512). El error entre la aprox. así que debemos truncarlo a una secuencia más pequeña con una ventana. Ì Métodos Basados en criterios de optimización x x Se trata de utilizar criterios para minimizar el máximo error en la aproximación.

2.M+2 |ε(Fk)|=|ε(F)|max Capítulo 9: Diseño de Filtros Digitales (Parte 2) 34 17/11/99 .. El teorema de la alternancia ofrece una pista para seleccionarαn...... Esta forma es un polinomio de Chebyshev. k =0 El Teorema de la Alternancia : Aproximamos D(F) por una forma polinomial de Chebyshev obteniendo H(F)..2.M+1 ε(Fk) = -ε(Fk+1) El error en la frecuencia Fk es igual al máximo error absoluto.5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR 3 La respuesta frecuencial H(F) de un filtro cuya respuesta a impulso h[n] es una secuencia simétrica puede ponerse como H ( F ) = ∑ α n ( F ) cos(2πnF ) M 3 x donde M está relacionado con la longitud del filtro N.. k=1.2..M+2 llamadas frecuencias extremas donde 3 3 El error varía entre dos máximos y mínimos iguales k=1. Se define el error ponderado en la aproximación ε(F) como ε(F)=W(F)[D(F)-H(F)] El teorema dice que se pueden encontrar al menos M+2 frecuencias Fk. k=1.... Debemos escogerαn para que el diseño se óptimo.

17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 35 . Este algoritmo necesita los siguientes datos: las frecuencias Fp y Fs. la relación δ1/δ2 de los errores en la pasabanda y en la parabanda y la longitud N del filtro.2225dB y δ2=56.5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR Existe un algoritmo llamado Parks-McClellan (PM) para determinar esas frecuencias. Devuelve los coeficientes αn y los valores reales de δ1 y δ2. El filtro parabanda diseñado anteriormente ha sido rediseñado utilizando este algoritmo. El resultado es un filtro de N=21. δ1=0.79 dB. La respuesta frecuencial se muestra en la figura.

1 0.45 0.15 0.05 0.3 0.35 0.2 0.5 Digital Frequency F 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 36 .79 ] dB 0 -10 -20 -30 -40 -50 -60 -70 -80 0 0.2225 56.5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR Length N = 21 PB/SB Attn from 0dB = [ 0.25 0.4 0.

05 0.4.1 0.2 y Fs=0. La longitud del filtro viene dada por N=2(K+L)-1 y es por tanto impar.4 0. Obtenemos un filtro de N=27.35 0.5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR x Filtros FIR de horizontalidad máxima 3 3 Se trata de diseñar un filtro cuyas 2L-1 derivadas en F=0 y sus 2K-1 derivadas en F=0.5 Frecuencia Digital 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 37 .2 0.3 0.45 0.6 0.2 Filtro Pasobajo de Horizontalidad Máxima 1 0.2 0 0 0.25 0. 1. Los enteros K y L se determinan a partir de las frecuencias de pasabanda y parabanda que corresponden a atenuaciones de 0.5 sean cero.5 dB y 26 dB.4 0.15 0. se pide un filtro pasobajo cuyas frecuencias digitales Fp=0. Por ejemplo.8 0.

de forma que “plot(F.Wn. Se pueden especificar otro tipo de filtros de la misma forma que con los filtros IIR mediante el parámetro type. para un filtro parabanda: >> B = fir1(N.chebwin(N+1.type.Wn.F. x Función FIR2 >> B = fir2(N. 0 ≤ Wn ≤ 1).R)). Diseña un filtro FIR pasobajo de orden N (longitud N+1) y frecuencia de corte Wn (normalizada con respecto a la frecuencia de Nyquists. Diseña un filtro FIR utilizando el método del muestreo frecuencial. Por ejemplo. Los parámetros de entrada es el orden del filtro N (longitud N+1) y dos vectores F y M que especifican la frecuencia y la magnitud.M. Otro tipo de ventanas pueden también especificarse: >> B = fir1(N. Por defecto la función FIR usa la ventana de Hamming.M)” es una gráfica de la respuesta deseada del filtro. >> B = fir1(N.5º Curso-Tratamiento Digital de Señal Diseño de Filtros FIR con MATLAB Ì Funciones de MATLAB para realizar filtros FIR: x Función FIR1 >> B = fir1(N.'stop'). 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 38 .Wn.window).window).bartlett(N+1)).'high'.[W1 W2].

La función fir2 interpola la respuesta frecuencial deseada (F. >> B = fir2(N.5º Curso-Tratamiento Digital de Señal Diseño de Filtros FIR con MATLAB Se pueden indicar saltos bruscos en la respuesta frecuencial duplicando el valor de la frecuencia de corte. siendo el primer elemento igual a 0 y el último 1.’bartlett(N+1)’). Se pueden especificar más parámetros en esta función. cuyo formato difiere de los análogos en la función fir2. y dos vectores F y M. usa la ventana de Hamming. F debe estar entre 0 y 1.F.F. El parámetro window indica el tipo de ventana a utilizar. npt=512). Los argumentos de entrada son el orden del filtro N. El filtro obtenido es la mejor aproximación a (F.npt. 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 39 . en orden creciente.M.M. lap=25). Diseño de filtros FIR usando la minimización del error por mínimos cuadrados.lap.F. >> B = fir2(N.M). Por defecto. Si dos valores sucesivos de F son iguales.window).M) por mínimos cuadrados. x Función FIRLS >> B = firls(N.M) con npt puntos (por defecto. se crea una región de lap puntos alrededor de este punto (por defecto.

Las bandas de frecuencia entre F(k+1) y F(k+2) para k impar son tratadas por firls como bandas de transición. H(F) Bandas de Transición M(1) M(2) M(4) M(3) M(5) M(6) F F(1)=0 F(2) F(3) F(4) F(5) F(6)=1 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 40 . y en orden ascendente entre 0 y 1.5º Curso-Tratamiento Digital de Señal Diseño de Filtros FIR con MATLAB F es un vector que indica los límites de las bandas de frecuencia en parejas (por tanto el tamaño de F debe ser par). M es un vector del mismo tamaño que F que indica la magnitud deseada para cada banda de frecuencias.F.M.M(k+1)) para k impar. >> B = firls(N. W es un factor de ponderación del error para cada banda de frecuencias.W). También existe un argumento opcional que consiste en un vector W cuyo tamaño es la mitad de F. La respuesta deseada es la línea que conecta los puntos (F(k).M(k)) y (F(k+1).

>> b = remez(N. el vector M tiene un tamaño igual a (length(F)+2)/2. Fo y Mo son dos vectores de igual magnitud.Fo.W] = remezord(F. pero no deben ser especificados en el vector F.Fo. podemos implemantar el algoritmo de Parks-McClellan. Fs=2 por defecto.Fs) Calcula el orden N. El vector M indica la respuesta deseada en cada banda. F es un vector de frecuencias de corte en Hz. Fo(k) y Fo(k+1) k impar especifica bandas de frecuencia y Mo(k) y Mo(k+1) la correspondiente magnitud para cada frecuencia.M. Si no se especifica Fs. Por tanto. Estos valores cumplen las especificaciones dadas por F. DEV. Ver la gráfica de la página siguiente. El primer elemento de F es siempre 0 y el último es siempre Fs/2.W). en orden ascendente entre 0 y Fs/2. El filtro obtenido es la mejor aproximación por minimax. 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 41 . >> [N.DEV.Mo. Con los valores obtenidos en la función remezord. DEV es un vector que indica el máximo rizado permitido en cada banda. M. las magnitudes en esas bandas Mo y los factores de ponderación W que luego serán utilizados como argumentos de entrada de la función remez. las bandas de frecuencia normalizadas Fo.5º Curso-Tratamiento Digital de Señal Diseño de Filtros FIR con MATLAB x Algoritmo de Parks-McClellan Hay dos funciones en MATLAB para realizar este algoritmo: remezord y remez.Mo.

[0 0 1 1 0 0]). >> >> >> >> >> N=44.5º Curso-Tratamiento Digital de Señal Diseño de Filtros FIR con MATLAB H(F) Bandas de Transición M(1) M(3) M(2) F F=0 F(1) F(2) F(3) F(4) F = F s /2 x Ejemplo 1: Diseñar un filtro FIR pasabanda a frecuencias de 30 Hz y 3500 Hz por cada uno de los diferentes métodos. Bremez = remez(N. x 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 42 . Bfir2 = fir2(N. Utilizar un mismo orden de filtro (por ejemplo N=44) y comparar las respuestas frecuenciales.[30 3500]/Fny).[0 0 1 1 0 0]).[0 0 1 1 0 0]). Bfirls = firls(N.[0 10 30 3500 3600 Fny]/Fny.[0 10 30 3500 3600 Fny]/Fny.Fny=Fs/2.[0 10 30 3500 3600 Fny]/Fny. Bfir1 = fir1(N.Fs=11020.

'm').Fs). semilogy(F.'y'. Hfir2=abs(freqz(Bfir2.Fs).F.Hremez.remez 0 -1 -2 -3 -4 -5 -6 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 43 .F.5º Curso-Tratamiento Digital de Señal Diseño de Filtros FIR con MATLAB >> >> >> >> >> >> F=0:10:5000.firls.F.1.Fs).F.1.'g'.'r'. Hremez=abs(freqz(Bremez.fir2.F. 10 10 10 10 10 10 10 10 1 Respuesta frecuencial: -. -.F.fir1. -.F.Hfir1.1.Fs). Hfir1=abs(freqz(Bfir1. Hfirls=abs(freqz(Bfirls.1.Hfirls.Hfir2. -.

5º Curso-Tratamiento Digital de Señal Apéndice Tablas de Transformaciones Espectrales 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 44 .

HLP ( F ) H HP ( F ) = H LP ( F − 1 ) = rect ( F .5º Curso-Tratamiento Digital de Señal Tabla 1 Transformaciones de Filtros pasobajo Tipo Pasobajo Pasoalto Pasoalto Pasabanda Parabanda H(F) ideal HLP ( F ) = rect(F 2 FC ) HHP ( F ) = 1.1 ) 2 FC 2 2 Respuesta a Impulso h[n] hLP [n] = 2 FC sinc(2nFC ) HBP ( F ) = H BS ( F ) = 1 − H BP ( F ) [ ] rect[( F − F ) 2 F ] 0 C rect ( F + F0 ) 2 FC + [ ] hHP [n] = δ [n] − hLP [n] (−1)n hLP [n] 2 cos (2 π nF 0 )h LP [n ] δ [n] − hBP [n] 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 45 .

Fs1 y Fs2 = límites de pasabanda y parabanda. Fp2. F0 = Frecuencia Central Para BS y BP se asume que tienen simetría respecto a F0 Límite de Límite de Transformación Frecuencia Central Pasabanda Parabanda Si hHP[n]=δ[n]-hLP[n] Fp = FsHP Fs = FpHP HP2LP HP2LP BP2LP BS2LP Fp = Fp = 1 ( Fp 2 − Fp1 ) 2 1 − FpHP 2 1 − FsHP 2 Fs = 1 ( Fs 2 − Fs1 ) 2 Fs = Si hHP[n]=(−1)nh[n] F0 = 1 ( Fp 2 + Fp1 ) 2 F0 = 1 ( Fp 2 + Fp1 ) 2 Fp = 1 (Fs 2 − Fs1 ) Fs = 1 ( Fp 2 − Fp1 ) 2 2 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 46 .5º Curso-Tratamiento Digital de Señal Tabla 2 Transformaciones a Prototipos de Pasobajo Fp1.

Sign up to vote on this title
UsefulNot useful