P. 1
Fir

Fir

|Views: 55|Likes:
Publicado pormegarey

More info:

Published by: megarey on Jul 28, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

07/28/2011

pdf

text

original

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

tendré cuatro posibles tipos de secuencias simétricas. 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 .5º Curso-Tratamiento Digital de Señal Secuencias Simétricas Ì La longitud N de una secuencia simétrica puede ser par o impar. M=½N. las cuales se muestran en la Tabla 1 junto con la DTFT de cada secuencia. F es la frecuecia digital=f/fs. 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. Como tengo dos tipos de simetría (par o impar).

x La secuencia tipo 1 puede implementar cualquier tipo de filtro.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. 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. x Las secuencias del tipo 3 (|H(0)|=0=|H(½)|) sólo pueden ser utilizadas para filtros pasabanda. 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 . Es el único tipo capaz de realizar filtros parabanda.

Retrasar hF[n] para asegurarse que el filtro es causal. Método del Muestreo en Frecuencia.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. 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). Conversión de especificaciones a la de un Prototipo de Filtro Pasobajo. 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. Truncamiento de la respuesta a impulso de un filtro ideal h[n]=2FCsinc(2nFC) a hN[n] de longitud N. El orden del filtro es N-1. Selecionar una ventana w[n] de N puntos para obtener hw[n]=hN[n]· w[n] . Métodos Iterativos basados en condiciones óptimas de diseño. Convertir del Protipo de Filtro Pasobajo al Filtro deseado hF[n]. Capítulo 9: Diseño de Filtros Digitales (Parte 2) 7 17/11/99 .

|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. 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).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.5 -F c Fc 0. tal y como indica la figura.

4 0. y además decae muy lentamente.3 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. dará lugar a sobreimpulsos en la respuesta frecuencial del filtro.2 0 5 10 15 20 25 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 9 . 0.1 0 -0. Debido a la lentitud de la función sinc(x). Utilizar los valores de h[n] definidos por la ecuación anterior como coeficientes del filtro FIR.2 0. necesitaré un filtro de elevado orden (gran número de puntos) para diseñar filtros con transiciones rápidas entre bandas.5 0.1 -0.

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.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... Para reducir los efectos de un truncamiento abrupto se utilizan ventanas espectrales que tienden a suavizar esos efectos.. Por ejemplo. en la que w[n]=1.N-1. Aquí el efecto Gibbs se da en el dominio frecuencial al usar un truncamineto de la respuesta a impulso. El espectro de hN[n]=h[n]·w[n] es la convolución de H(F) y W(F). 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 . para n=0.. la DTFT es. en el caso de una ventana rectangular. La función W(F) va a producir rizados y sobreimpulsos en la señal de salida.

Sus características espectrales principales se especifican en la Tabla 3. sin casi energía en los lóbulos de los lados. Idealmente el espectro de una ventana debe estar confinado en el lóbulo principal. 3 La amplitud de los lóbulos de los lados permanece constante con N. Las ventanas más comunmente utilizadas en el diseño de filtros FIR están listadas en la Tabla 2. 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 11 . 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.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.

4 0.4 0.5 Frecuencia Digital f/fs 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 12 .1 0.2 0.2 0 Boxcar -25 -30 -35 -40 -45 -10 -5 Indice n 0 5 10 -50 0 0.6 1 Hamming -40 -50 -60 0.4 0.1 Frecuencia Digital f/fs 0.2 -70 0 -80 0 -10 -5 Indice n 0 5 10 0.5 0 -10 -20 0.4 0.8 -30 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.6 0.2 0.3 0.8 0.

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

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

6 1 Parzen-2 -40 -50 -60 0.3 0.1 0.5 Indice n Frecuencia Digital f/fs 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 15 .4 0.2 0.8 -30 0.6 1 0.4 Kaiser β=2 -40 -50 -60 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.2 0.5 Indice n Frecuencia Digital f/fs 0 -10 -20 0.8 -30 0.1 0.2 -70 0 -80 -10 -5 0 5 10 0 0.3 0.4 0.4 0.

5. pero a costa de una menor atenuación en los lóbulos. 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.0. -4≤n≤4.2.2.0. (a) Con N=9.5n). hN[n]=2FCsinc(2nFC)=2·(5/20)·sinc(2n5/20)=0. .0. Una transición más ancha permite utilizar un filtro de menor orden.5.3.0. y una ventana tipo Bartlett : w[n] = 1 − { } {h [n]}= {h [n]w[n]}= {0.1.1.10610} .−0.5· sinc(0.0.−0. 2n → {w[n]} = 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 16 .0} W N 1 {0.3183. Como mucho puede estar unos 8 dB por encima.0.3. Hamming y Kaiser.0265.0.2387.10610.5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR x x Las ventanas más utilizadas son vonHann.−0. Es decir Ps≥ As-8.0.0} N −1 4 hN [n] = {0. x Ejemplo: Diseñar un filtro FIR pasobajo con una frecuencia de corte de 5KHz y una frecuencia de muestreo de 20KHz.4.0.−0.2387.0265.3183.

0.0.0. -2.−0.4502.9045.3455.0} H (z ) = 0.09. por lo que el filtro a aplicar es: H (z ) = 0 − 0.1501.0.0.0.3455.0.9045.0265z −7 + 0 = = −0.2387z −3 + 0.4072 z −1 + 0.0518z −3 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 17 .0.0} {h {h N [n]} = {−0.5 y una ventana vonHann w[n] = 0.0265z −1 + 0 + 0.0.5z −3 + 0.0265 + 0.09} W [n]} = {hN [n]w[n]} = {0.4072.5 cos[2 nπ ( N − 1)] {w[n]} = {0.5≤ n≤ 2.0265z −6 (b) Con N=6.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.2387z −3 + 0.1501. podemos hacer H (z ) = −0.2387z −2 + 0.0518 + 0.0265z −1 + 0.0.0518.0.5 + 0.4072.2387z −4 − 0.2387z −5 − 0.4502.4072 z −2 + 0.0518.2387 z −5 + 0 − 0.0.5z −4 + 0.5z −4 + 0.0265z −7 Como el primer muestreo de hW[n]=0.

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

2/N 6.4/N 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 19 .0 -59 -81 2π 5.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.1/N 9.0 -90 -67 2π 5.0 -24 -37 2π 2.6/N 5.9/N Hanning -44 -31 2π 3.5/N 3.1/N Hamming -53 -41 2π 3.0 -44 -63 2π 3.5/N 8.0 -54 -37 2π 3.3/N Blackman -57 -74 2π 5.8/N 7.7/N 10.0 -51 -72 2π 4.0/N 4.0 -30 -45 2π 2.0 -19 -29 2π 1.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.0 -74 -99 2π 6.

1102 ⋅ (As − 8. Esto se realiza mediantes las siguientes ecuaciones.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 (∆ω).4 0.7 ).07886 ⋅ (As − 21). As − 7.5842 ⋅ (As − 21) + 0. (ω 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 β.95 14. entre las frecuencias de parabanda y pasabanda (en rad/s). N≈ Ì As ≥ 50 20 < As < 50 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 20 . llamamos banda de transición a la diferencia normalizada por la frecuencia de muestreo Fm. si se pide un filtro con una transición entre ωp y ωs.  β = 0.36 ⋅ ∆F 0. Por ejemplo.

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

obtenemos hN[n] para una frecuencia de corte que no se nos especifica claramente. hN [n] = 2 FC sinc(2 nFC ) = 0.98 dB As=40.1dB Blackman: N=29 FC =0.91 0.9 dB Hamming: N=23 FC =0. Este proceso ha sido utilizado en este problema y hemos llegado a los siguientes resultados: As=40dB vonHann: N=23 FC=0.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.87 0. En caso de no cumplirse. 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 22 vonHann : N = 1.128 Ap=1.1 ≈ 29 .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. De la Tabla 1.132 Ap=1.1 ≈ 19 Hamming : N = 1.24 n) Ahora se intenta con cada uno de los filtros partiendo de la longitud calculada y se observa si se cumplen las especificaciones. Sólo se nos da las frecuencias en los bordes de la pasabanda y la parabanda.2 KHz.137 Ap=1.24sinc(0.82 0. debe aumentarse el orden del filtro o modificar la frecuencia de corte elegida y volver comprobar las especificaciones. Por ello escogemos una frecuencia de corte un 20% superior a fp.58 dB As=40.1 ≈ 20 Blackman : N = 2.

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

El resultado final obtenido es un filtro con N=27.16.47 dB a 12 KHz.01dB a 2KHz y 73. Ap=3.48πn)·hw[n]. As=45.24 Fp=(Fp2-Fp1)/2=0.08. Normalizamos las frecuencias y aplicamos las fórmulas de la Tabla 2.0. FC=0. Parabanda [2.12]KHz Ap=3dB As=45dB SF=25KHz Calculamos primero la frecuencia central f0=6KHz. 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 24 .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.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. 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.08 Fs=(Fs2-Fs1)/2=0.01dB a 4 KHz y 8 KHz.4] F0=0.0956. para pasarlo al protipo pasobajo : PasaBanda[0. para el que N≈ WS/(Fs-Fp)≈ 24 y comenzamos el proceso de intentar y errar hasta que llegamos a una solución aceptable.16 Utilizamos el filtro de Hamming.32] ParaBanda[0. Una vez determinada la secuencia hw[n] que especifica el filtro.

05 0.2 0.15 0.5 Frecuencia Digital 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 25 .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.35 0.1 0.4 0.25 0.45 0.3 0.

25 : H(F)=1-H(0.5z-3+0.0795+0.0. Este tipo de filtros con la ventana Kaiser muestra un rizado tanto en la pasabanda (δp) como en la parabanda (δs). La función de Transferencia H(F) tiene antisimetría respecto a F=0.0795.5sinc(0.0.-0. w[n]={0. En este caso la frecuencia de muestreo debe ser SF=4fc (o 4f0).0795.9702.25-F) Filtros de Media Banda usando la ventana Kaiser : Para esta ventana con N=9 y β=0.0.3088z-4-0. 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. Capítulo 9: Diseño de Filtros Digitales (Parte 2) 26 17/11/99 .0.0.0. y hN[n]·w[n]={0.3088.0}=hw[n].0.5n).3088.0.0.7497.25.-0.7497. h[n]=0 para n par (ver ejemplo T11).5818.5.0.0.5818}.3088z-2+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.5.0795z-6.8838. La respuesta a impulso es h[n]=2FCsinc(2nFC)=0. H(z)=-0. de forma que si el orden N es impar. 0.9702.8838.1.

17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 27 . Se puede obtener un filtro pasoalto a partir del espectro complementario : HHP(z)=z-(N-1)/2Hco(z).5º Curso-Tratamiento Digital de Señal Técnicas de Diseño de Filtros FIR 1.35 0. N/2 multiplicadores debido a los ceros de los coeficientes del filtro.25 0.2 0 0.2 δs −δs 0 -0.2 1+δp 1-δp 1 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.3 0.6 0.05 0.15 0.8 0.45 0.4 0.1 0.2 0.4 0.

las frecuancias de pasabanda y parabanda y sus respectivas atenuaciones.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]. En concreto. diseñandose un prototipo de filtro pasabaja. Pasabanda [1 KHz-4 KHz]. Especificaremos el tipo de filtro a realizar (pasobajo.02 dB a 1 y 4 KHz. los coeficientes y las especificaciones reales del filtro. Capítulo 9: Diseño de Filtros Digitales (Parte 2) 28 x 17/11/99 . 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. etc).046 dB a 2 KHz y 3 KHz y As=53. El resultado final para un filtro de este tipo con una ventana Kaiser es : N=31. 3 Calculamos la frecuencia de muestreo necesaria para realizar el filtro. Ap=1dB y As=50dB. así como el tipo de ventana que deseamos utilizar. la frecuencia de muestreo. Ap=0. haremos estos diseños utilizando MATLAB. 3 Una vez obtenido se transforma a un filtro parabanda con las expresiones de la Tabla 1. 3 Ahora se determinar las frecuencias digitales Fp y Fs de acuerdo con la Tabla 2. Con estos datos el programa realiza el diseño del filtro proporcionando el orden. SF=4f0=4(3+2)/2=10 KHz. pasoalto.

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

. k=0. 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.. Capítulo 9: Diseño de Filtros Digitales (Parte 2) 30 17/11/99 .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)... 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 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.1. 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. k=1.1) de la extensión periódica de H(F). El espectro reconstruido XN(F) será igual a X(F) sólo en las frecuencias de muestreo.N.N-1.....

0794.0. h[n]={0..9π) H[2]=exp(-j1.3090.5108.1.5exp(-j2.8090-j0.0716. Para suavizarlo.0.0157.0.452.0.0606.-0.5878 H[9]=-0.1.0128} 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 31 .8π) H[3]=0 H[4]=0 H[5]=0.0. – Haciendo la IDFT de estos H[k] obtenemos la secuencia h[n].452.9511-j0. Tomamos 10 muestras.1558. – Los valores H[5] .-0.-0. Ejemplo : Diseñar un filtro pasobajo dado por la respuesta frecuencial de la figura. 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.1. se puede sustituir los muestreos H[3] por 0.0.5878.0606.-0.8090+j0.3090 H[2]=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.9511+j0.0128. permitimos que los valores de muestreo varíen lentamente en las discontinuidades.1. h[n]={0.0. -0.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.0. La fase de cada una de las muestras es -πk(N-1)/N – H[0]=1 H[1]=exp(-j0. Haciendo el IDFT de la nueva secuencia de muestreos H[k] obtenemos el filtro.1558.0.0157..-0.7π).0. – H[1]=-0.0794 .0.5108.

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

Ì 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. el ancho de pasabanda o ajustar los muestreos en la zona de transición. así que debemos truncarlo a una secuencia más pequeña con una ventana.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. Hacemos el IDFT y obtenemos la respuesta h[n]. Si el diseño no cumple las especificaciones podemos cambiar N. Se muestrea la respuesta frecuencial deseada con un número alto de puntos (M=512). Hay tres importantes conceptos en diseño óptimo. H(F) y la respuesta deseada D(F) debe tener igual rizado. 3 3 h[n] es demasiado largo. 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 33 . El error entre la aprox.

.... El teorema de la alternancia ofrece una pista para seleccionarαn.. Debemos escogerαn para que el diseño se óptimo.M+2 llamadas frecuencias extremas donde 3 3 El error varía entre dos máximos y mínimos iguales k=1.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.. k =0 El Teorema de la Alternancia : Aproximamos D(F) por una forma polinomial de Chebyshev obteniendo H(F).M+2 |ε(Fk)|=|ε(F)|max Capítulo 9: Diseño de Filtros Digitales (Parte 2) 34 17/11/99 .M+1 ε(Fk) = -ε(Fk+1) El error en la frecuencia Fk es igual al máximo error absoluto. Esta forma es un polinomio de Chebyshev.. 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.2...2.

79 dB. La respuesta frecuencial se muestra en la figura. la relación δ1/δ2 de los errores en la pasabanda y en la parabanda y la longitud N del filtro. El resultado es un filtro de N=21. δ1=0. El filtro parabanda diseñado anteriormente ha sido rediseñado utilizando este algoritmo. Este algoritmo necesita los siguientes datos: las frecuencias Fp y Fs. Devuelve los coeficientes αn y los valores reales de δ1 y δ2.2225dB y δ2=56. 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 35 .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.

5 Digital Frequency F 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 36 .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.3 0.15 0.79 ] dB 0 -10 -20 -30 -40 -50 -60 -70 -80 0 0.25 0.05 0.35 0.4 0.2 0.1 0.45 0.

25 0.8 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 .45 0.5 sean cero.6 0. Los enteros K y L se determinan a partir de las frecuencias de pasabanda y parabanda que corresponden a atenuaciones de 0.4 0. se pide un filtro pasobajo cuyas frecuencias digitales Fp=0.3 0.2 Filtro Pasobajo de Horizontalidad Máxima 1 0.1 0. 1.2 0 0 0.05 0.2 y Fs=0. La longitud del filtro viene dada por N=2(K+L)-1 y es por tanto impar. Obtenemos un filtro de N=27.4.15 0.5 dB y 26 dB.35 0. Por ejemplo.2 0.4 0.

para un filtro parabanda: >> B = fir1(N.M)” es una gráfica de la respuesta deseada del filtro. 0 ≤ Wn ≤ 1).Wn.window).'high'.R)).Wn. 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. 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 38 . x Función FIR2 >> B = fir2(N.chebwin(N+1. Se pueden especificar otro tipo de filtros de la misma forma que con los filtros IIR mediante el parámetro type. Otro tipo de ventanas pueden también especificarse: >> B = fir1(N. Por defecto la función FIR usa la ventana de Hamming. >> B = fir1(N. Por ejemplo. de forma que “plot(F.bartlett(N+1)). 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.[W1 W2].Wn.M.F.type.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.window). Diseña un filtro FIR utilizando el método del muestreo frecuencial.'stop').

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

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 .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.W). y en orden ascendente entre 0 y 1. W es un factor de ponderación del error para cada banda de frecuencias. También existe un argumento opcional que consiste en un vector W cuyo tamaño es la mitad de F.F.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). >> B = firls(N.M(k)) y (F(k+1). La respuesta deseada es la línea que conecta los puntos (F(k).M. M es un vector del mismo tamaño que F que indica la magnitud deseada para cada banda de frecuencias.

el vector M tiene un tamaño igual a (length(F)+2)/2.Fo.M.Fo. 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 41 . pero no deben ser especificados en el vector F. >> b = remez(N. Con los valores obtenidos en la función remezord. podemos implemantar el algoritmo de Parks-McClellan. Si no se especifica Fs.W] = remezord(F. Ver la gráfica de la página siguiente. F es un vector de frecuencias de corte en Hz. El vector M indica la respuesta deseada en cada banda.Mo. en orden ascendente entre 0 y Fs/2. Por tanto.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. >> [N. las bandas de frecuencia normalizadas Fo.DEV. Fo y Mo son dos vectores de igual magnitud. M. Estos valores cumplen las especificaciones dadas por F. El filtro obtenido es la mejor aproximación por minimax. 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.W). Fs=2 por defecto.Mo. DEV. El primer elemento de F es siempre 0 y el último es siempre Fs/2.Fs) Calcula el orden N. 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. DEV es un vector que indica el máximo rizado permitido en cada banda.

[30 3500]/Fny). Bremez = remez(N.[0 0 1 1 0 0]).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. >> >> >> >> >> N=44. Utilizar un mismo orden de filtro (por ejemplo N=44) y comparar las respuestas frecuenciales.[0 10 30 3500 3600 Fny]/Fny. Bfir1 = fir1(N.Fs=11020.Fny=Fs/2. x 17/11/99 Capítulo 9: Diseño de Filtros Digitales (Parte 2) 42 .[0 10 30 3500 3600 Fny]/Fny.[0 0 1 1 0 0]).[0 0 1 1 0 0]). Bfirls = firls(N. Bfir2 = fir2(N.[0 10 30 3500 3600 Fny]/Fny.

'r'.F. Hfir1=abs(freqz(Bfir1. Hfirls=abs(freqz(Bfirls.Fs).Fs). -.1. 10 10 10 10 10 10 10 10 1 Respuesta frecuencial: -. Hremez=abs(freqz(Bremez. -.F.Hremez.1.Fs).F.'m').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.'g'.'y'. semilogy(F.1.1.firls.5º Curso-Tratamiento Digital de Señal Diseño de Filtros FIR con MATLAB >> >> >> >> >> >> F=0:10:5000. Hfir2=abs(freqz(Bfir2.fir2.F.Hfirls.fir1.Hfir1.F. -.F.Hfir2.Fs).

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 .

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 . Fs1 y Fs2 = límites de pasabanda y parabanda.5º Curso-Tratamiento Digital de Señal Tabla 2 Transformaciones a Prototipos de Pasobajo Fp1. Fp2.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->