You are on page 1of 39

Captulo 12

Filtros FIR
12.1 Diseo de ltros FIR por minimizacin de la integral
del error cuadrtico
Sea H
d
(e
j
) la respuesta en frecuencia del ltro que se desea implementar. Como H
d

e
j

es peridica con perodo 2 se puede expresar en serie de Fourier


H
d

e
j

=

X
n=
h
d
[n]e
jn
,
donde los coecientes de Fourier h
d
[n] son precisamente la respuesta impulsiva del sistema,
y estn dados por
h
d
[n] =
1
2
Z

H
d

e
j

e
jn
d, < n < . (12.1)
De manera que, dada una especicacin de respuesta en frecuencia deseada H
d

e
j

se
puede calcular h
d
[n] a partir de (12.1), y determinar la funcin de sistema H
d
(z). En
la mayora de las aplicaciones prcticas la respuesta en frecuencia deseada es contante a
tramos con transiciones abruptas entre las bandas, lo que causa que la respuesta impulsiva
h
d
[n] sea de longitud innita y no causal.
Para lograr un ltro computacionalmente realizable se debe buscar una respuesta impulsiva
de longitud nita h[n] de longitud 2M +1 cuya respuesta en frecuencia H

e
j

aproxime
la respuesta en frecuencia deseada H
d

e
j

de la mejor manera posible. Un criterio de


aproximacin habitual es minimar la integral del error cuadrtico
E =
1
2
Z

H

e
j

H
d

e
j

2
d,
donde
H

e
j

=
M
X
n=M
h[n]e
jn
.
Segn la relacin de Parseval,
E =
1
2
Z

H

e
j

H
d

e
j

2
d =

X
n=
|h[n] h
d
[n]|
2
1
2 CAPTULO 12. FILTROS FIR
Fig. 12.1: (a) Especicaciones de un ltro pasabajos con banda de transicin suave. (b) Especi-
caciones del ltro derivado.
=
M1
X
n=
|h
d
[n]|
2
+
M
X
n=M
|h[n] h
d
[n]|
2
+

X
n=M+1
|h
d
[n]|
2
(12.2)
La expresin (12.2) revela que la integral del error cuadrtico es mnima cuando h[n] =
h
d
[n] para M n M, pues se cancela el segundo trmino de la suma en (12.2). En
otras palabras, la mejor aproximacin a la respuesta en frecuencia del ltro con respuesta
impulsiva no causal e innitamente larga en el sentido de minimizar la integral del error
cuadrtico es la truncacin de los coecientes de la respuesta impulsiva ideal.
A partir de la respuesta impulsiva h[n] de longitud nita 2M + 1 se puede derivar una
respuesta causal retardando la respuesta en M muestras,
h
c
[n] = h[n M].
El ltro causal con respuesta impulsiva h
c
[n] tiene el mismo mdulo de la respuesta en
frecuencia que el ltro no causal de longitud nita h[n], y su respuesta de fase tiene un
desfasaje lineal de M radianes con respecto al ltro no causal.
12.2 Filtros FIR con banda de transicin suave
Los ltros FIR obtenidos por truncacin de una respuesta impulsiva de longitud innita
(que se calcula a partir de una especicacin de respuesta en frecuencia con discontinui-
dades abruptas) presentan un comportamiento oscilatorio en su respuesta en frecuencia,
llamado fenmeno de Gibbs. Una manera de reducir la ondulacin a valores aceptables es
pesando la respuesta impulsiva de longitud innita con una ventana temporal apropiada,
cuya respuesta impulsiva tienda suavemente a cero. Otra forma es modicando la especi-
cacin de la respuesta en frecuencia del ltro discreto dejando una banda de transicin
entre la banda de paso y la banda de rechazo, y permitiendo una transicin suave entre
ellas.
Para el caso de un ltro pasabajos, la modicacin ms sencilla es unir la banda de paso y la
banda de rechazo con una recta (spline de primer orden) como se observa en la Fig. 12.1(a).
Aplicando la transformada inversa de Fourier a la respuesta en frecuencia H
LP

e
j

se
pueden calcular los coecientes h
LP
[n] de la respuesta impulsiva. Sin embargo, una manera
ms sencilla de obtener la respuesta impulsiva es a partir de la transformada inversa de
Fourier de la derivada G

e
j

de la especicacin de la respuesta en frecuencia H


LP

e
j

,
Fig. 12.1(b).
12.2. FILTROS FIR CON BANDA DE TRANSICIN SUAVE 3
Si H
LP

e
j

=
P

n=
h
LP
[n] e
jn
, entonces
d
d

H
LP

e
j

=

X
n=
h
LP
[n]
d
d

e
jn

=

X
n=
(jnh
LP
[n]) e
jn
.
Deniendo G

e
j

=
d
d
H
LP

e
j

, resulta g [n] = jnh


LP
[n]. La especicacin en fre-
cuencia de G

e
j

que se muestra en la Fig. 12.1(b) puede obtenerse a partir de H


LP

e
j

.
Entonces, g [n] puede calcularse a partir de G

e
j

, y despus computar h
LP
[n] como
h
LP
[n] =
j
n
g [n] .
Es sencillo vericar que si n 6= 0,
g[n] =
1
2
Z

e
j

e
jn
d =
1
2
Z

p

s
1

e
jn
d +
1
2
Z

s

p
1

e
jn
d
=
1
2
1
jn

e
jn

s
e
jn

=
1
2
1
jn
[cos(
p
n) cos(
s
n) +j sen(
p
n) j sen(
s
n)
cos(
s
n) + cos(
p
n) j sen(
s
n) +j sen(
p
n)]
=
1
2jn
(2 cos
p
n2 cos
s
n) .
Teniendo en cuenta que cos cos = 2 sen[(+)/2] sen[(+)/2], y eligiendo =
s
n
y =
p
n, resulta
g [n] =
1
2jn
(2 cos
p
n2 cos
s
n) =
2
jn
sen

s
+
p
2
n

sen

p
2
n

.
Deniendo
=
s

p
,
c
= (
s
+
p
)/2 (12.3)
resulta
g [n] =
2
jn
sen(
c
n) sen(n) ,
y por lo tanto,
h
LP
[n] =
j
n
g [n] =
2
n
2

sen(
c
n) sen( n/2) =
sen( n/2)
n/2
sen(
c
n)
n
= sinc

2
n

sinc

, n 6= 0.
El caso n = 0 se analiza ms fcilmente a partir de H
LP

e
j

, ya que
h
LP
[0] =
1
2
Z

H

e
j

d
es el rea bajo la curva de respuesta en frecuencia de H
LP

e
j

, dividida por 2 Entonces,


h
LP
[0] =
2
p
+ (
s

p
)
2
=

p
+
s
2
=

c

,
4 CAPTULO 12. FILTROS FIR
y en consecuencia, la respuesta impulsiva del ltro pasabajos modicado es
h
LP
[n] =

c

sinc

2
n

sinc

.
La respuesta impulsiva del ltro pasabajos con banda de transicin suavizada es la res-
puesta impulsiva de un ltro pasabajos ideal con frecuencia de corte
c
[h
PBI
[n] =

c
/ sinc(
c
n/)] pesada por una funcin temporal w[n] = sinc[n/(2)].
El ltro diseado no es causal, y su respuesta impulsiva es doblemente innita. Si se
requiere un ltro de longitud N (por simplicidad se supone que N es impar), la expresin
de la respuesta impulsiva es
h
LP
[n] =

c

sinc

n
N 1
2

sinc

n
N 1
2

.
Se pueden obtener transiciones ms suaves si se utilizan polinomios interpoladores (splines)
de mayor orden para unir las bandas de paso y de rechazo. La respuesta impulsiva de un
ltro diseado con una polinomio de orden P es
h
LP
[n] =

c

sinc

2P

n
N 1
2

P
sinc

n
N 1
2

, (12.4)
con 0 n N 1. En general, el efecto de P en la respuesta en frecuencia no es obvio.
Para un ltro de longitud N y banda de transicin el valor ptimo de P que minimiza
la integral cuadrtica del error (Burrus, Soewito y Gopinath, 1992) es
P =

4
(N 1)

, (12.5)
donde de es la funcin techo (el entero superior ms prximo). Esta expresin muestra que
para mantener un dado, el aumento de la suavidad de la transicin (un P mayor)
implica un incremento de la longitud N del FIR. Otra forma de ver el mismo fenmeno es
que para una interpolacin de mayor orden, el ancho de banda efectivo del ltro es menor
(por ejemplo, una interpolacin de segundo orden impone que la derivada del mdulo de
la respuesta en frecuencia en las frecuencias esquina de la banda de paso y la banda de
rechazo sea nula, ensanchando las bandas de paso y de rechazo, y angostando la banda
de transicin). Una interpolacin de orden alto con una banda de transicin dada es
equivalente a una interpolacin de menor orden con una banda de transicin ms angosta.
Ejemplo 12.1 Diseo de un ltro pasabajos
Se desea disear un ltro FIR pasabajos con
p
= 0.3 y
s
= 0.4, y N = 41. De (12.3) resulta
= 0.10, y
c
= 0.35. Aplicando (12.11), se encuentra que el P ptimo es P = 1, y de
(12.10) se tiene que
h
(1)
LP
[n] = 0.35 sinc [0.10 (n 20)] sinc [0.35 (n 20)] .
Para comparar, se calculan ltros utilizando polinomios interpoladores de segundo orden (P = 2) y
de cuarto orden (P = 4), obtenindose
h
(2)
LP
[n] = 0.35{sinc [0.050 (n 20)]}
2
sinc [0.35 (n 20)] ,
h
(4)
LP
[n] = 0.35{sinc [0.025 (n 20)]}
4
sinc [0.35 (n 20)] ,
12.3. EJEMPLOS DE DISEO 5
0 /2
0.00
0.25
0.50
0.75
1.00
|
H
(
e
j

)
|
P = 1
P = 2
P = 4
Fig. 12.2: Respuesta en frecuencia para N = 41, y P = 1, 2, 4.
0 /2
0.00
0.25
0.50
0.75
1.00
|
H
(
e
j

)
|
P = 1, N = 41
P = 2, N = 81
Fig. 12.3: Comparacin de la respuesta en frecuencia para N = 41, P = 1 y N = 81, P = 2.
con 0 n 40. En la Fig. 12.2 se comparan las respuestas en frecuencia de los ltros, observndose
que la respuesta con P = 2 tiene mayor ondulacin que la de P = 1, pero menor que la de P = 4.
Aumentando la longitud del FIR se puede obtener una menor ondulacin en la banda de paso, pues
de acuerdo con (12.11) el P ptimo es mayor. En la Fig. 12.3 se comparan la respuesta en frecuencia
del ltro de longitud N = 41, y P = 1 con la respuesta del ltro de longitud N = 81, P = 2, y
puede apreciarse que efectivamente la ondulacin es menor. 2
12.3 Ejemplos de diseo
12.3.1 Filtros tipo I
Se desea disear un ltro FIR pasa altos, que cumpla con las siguientes especicaciones:
banda de paso: 3/4 a ,
banda de rechazo: 0 a 5/8,
atenuacin mxima en la banda de paso: 0.08 dB (1 0.01),
atenuacin mnima en la banda de rechazo: 40 dB (0.01.),
Ejemplo 12.2 Diseo utilizando ventanas jas
El ltro se disea utilizando las ventanas rectangular, de von Hann, Hamming y Blackman. El orden
N se estima segn tablas (Seccin 12.8)
Ventana
s

p
Orden N M = N/2
Rectangular (boxcar) 4/(N + 1) 31 15
Hann 8/N 65 32
Hamming 8/N 65 32
Blackman 12/N 97 48
6 CAPTULO 12. FILTROS FIR
La respuesta impulsiva h
d
[n] del ltro prototipo (ideal, no causal) es
h
d
[n] = [n]

c

sinc

,
donde
c
= (
s
+
p
)/2. La respuesta del ltro truncado y causalizado es h[n] = w[n (N
1)/2]h
d
[n (N 1)/2], donde w[n] es la respuesta impulsiva de alguna de las ventanas citadas
en la tabla. En general, salvo para el diseo con ventana rectangular, los dems ltros cumplen
holgadamente con las especicaciones. 2
Ejemplo 12.3 Diseo con ventana de Kaiser
La ventana de Kaiser es una ventana ajustable que permite regular la amplitud de los lbulos laterales
a travs de un parmetro, y el ancho del lbulo principal de acuerdo al largo de la ventana,
w[n] =
I
0
"

r
1

nN/2
N/2

2
#
I
0
()
, 0 n N 1,
donde I
0
es la funcin de Bessel modicada de primer tipo, denida por
I
0
(x) =

X
n=0

1
k!

x
2

2
.
El parmetro se calcula como
=

0.1102 (A8.7) , A > 50,


0.5842 (A21)
0.4
+ 0.07886 (A21) , 21 A 50,
0, A < 21,
donde A es la atenuacin deseada en la banda de rechazo y el orden N del ltro se estima segn
N =

A7.95
2.285
+ 1, A > 21 dB,
5.794

+ 1, A 21 dB.
En Matlab, el orden puede estimarse con
[M,wn,Beta]=kaiserord([ws/pi,wp/pi],[0,1],[0.01 0.01])
Usando la funcin de Matlab se encuentra que = 3.3953, y el largo N del ltro es N = 37. En
las guras puede apreciarse que el diseo calculado con la ventana de Kaiser es (hasta ahora) el que
cumple ms ajustadamente las especicaciones, y tambin el de menor orden. 2
Ejemplo 12.4 Diseo con bandas de transicin suave
La idea que rige el diseo de estos ltros es suponer que la zona de transicin entre la banda de
paso y la banda de rechazo no es abrupta, sino que sigue una funcin suave (polinomio interpolador
o spline de orden P). En este caso, la respuesta impulsiva del ltro prototipo (ideal, no causal) est
dada por
h
d
[n] = [n]

c

sinc

2P
n

P
sinc

,
donde se ha elegido P = 2 (polinomio interpolador o spline de segundo orden). 2
Ejemplo 12.5 Diseo ptimo (algoritmo de Remez)
El algoritmo de Remez permite obtener el ltro que cumple ms ajustadamente con las especica-
ciones de diseo con la menor longitud. En la Seccin 12.5 se comentan algunos detalles del clculo
usando Matlab. 2
12.3. EJEMPLOS DE DISEO 7
0 5 10 15 20 25 30
-0.2
0
0.2
h
[
n
]
|
H
(
e
j
w
)
|
0 0.2 0.4 0.6 0.8 1
0
0.5
1
|
H
(
e
j
w
)
|
[
d
B
]
0 0.2 0.4 0.6 0.8 1
-60
-40
-20
0
0 0.2 0.4 0.6 0.8 1
-10
-5
0
5
10
q
(
w
)
[
r
a
d
]
|
H
(
e
j
w
)
|
[
d
B
]
0.7 0.8 0.9 1
-0.5
0
0.5
Fig. 12.4: Diseo utilizando ventana rectangular (N = 31).
Fig. 12.5: Diseo utilizando una ventana de von Hann (N = 65).
8 CAPTULO 12. FILTROS FIR
Fig. 12.6: Diseo utilizando una ventana de Hamming (N = 65).
Fig. 12.7: Diseo utilizando una ventana de Blackman (N = 97).
12.3. EJEMPLOS DE DISEO 9
Fig. 12.8: Diseo en base a la ventana de Kaiser ( = 3.3953, N = 37).
Fig. 12.9: Diseo utilizando banda de transicin suavizadas (N = 43).
10 CAPTULO 12. FILTROS FIR
Fig. 12.10: Diseo por mtodos ptimos (N = 35).
12.3.2 Comandos MATLAB utilizados para generar los ltros
% Ventana RECTANGULAR
M = 15;
N = [-M:M];
hn = -wc/pi*sinc(N*wc/pi);
hn(M+1) = 1-wc/pi;
% Ventana HANN
M = 32;
N = [-M:M];
hn = -wc/pi*sinc(N*wc/pi);
hn(M+1) = 1-wc/pi;
hn = hn.*hanning(2*M+1)
0
; % ventaneo
% Ventana HAMMING
M = 32;
N = [-M:M];
hn = -wc/pi*sinc(N*wc/pi);
hn(M+1) = 1-wc/pi;
hn = hn.*hamming(2*M+1)
0
; % ventaneo
% Ventana BLACKMANN
M = 48;
N = [-M:M];
hn = -wc/pi*sinc(N*wc/pi);
hn(M+1) = 1-wc/pi;
hn = hn.*blackman(2*M+1)
0
; % ventaneo
% ventana KAISER
[M,wn,Beta] = kaiserord([ws/pi,wp/pi],[0,1],[0.01 0.01])
N = [-M:M];
hn = -wc/pi*sinc(N*wc/pi);
hn(M+1) = 1-wc/pi;
hn = hn.*kaiser(2*M+1,Beta))
0
;
% Filtro con transicin suave;
M = ceil((4*pi/(wp-ws)-1)/2);
M = M+4; % aumentar M para cumplir las especs.
N = [-M:M]; P = 2;0.624*(wp-ws)*2*M;
12.3. EJEMPLOS DE DISEO 11
hn = -(sinc((wp-ws)/(2*pi*P)*N)). P.*wc/pi.*sinc(N*wc/pi);
hn(M+1) = 1-wc/pi;
% Fir Optimo (REMEZ)
[M,fo,ao,w] = remezord([ws/pi,wp/pi],[0,1],[0.01 0.01]);
M = M+2; % (el orden es menor que el necesario)
hn = remez(M,fo,ao,w);
12.3.3 Filtros tipo III, IV
En esta seccin se disearn ltros FIR derivadores y transformadores de Hilbert, de orden
impar (longitud N par, tipo III) y de orden par (longitud N impar, tipo IV).
Ejemplo 12.6 Diseo de un derivador
La funcin transferencia del ltro derivador ideal es
H
d

e
j

= j, || < ,
sobreentendindose que se repite peridicamente. La respuesta impulsiva del ltro ideal es
h
d
[n] =
1
2
Z

H
d

e
j

e
jn
d =
1
2
Z

je
jn
d
=
1
2

n

1
jn
2

e
jn

=
1
2

n
e
jn
+

n
e
jn

1
2jn
2

e
jn
e
jn

=
1
2

n
2 cos n
1
2jn
2
2j senn =
cos n
n

1
n
sinc (n) ,
que vale para el caso en que n 6= 0; es inmediato vericar que h[0] = 0. En el caso de la respuesta
ideal, no causal, es decir < n < , la expresin de la respuesta impulsiva se simplica a
h
d
[n] =

(1)
n
n
, n 6= 0,
0, n = 0.
La respuesta impulsiva truncada a N muestras y causalizada es
h[n] =
cos

n
N1
2

n
N1
2

1
n
N1
2
sinc

n
N 1
2

,
si n 6= (N 1)/2, y que segn sea N impar o par se puede espresar como
h[n] =

cos

n
N1
2

n (N 1) /2
=
(1)
n
N1
2
n
N1
2
, si N es impar, n 6= (N 1)/2,

1
n
N1
2
sinc

n
N1
2

=
(1)
n
N
2
1

n
N1
2

2
, si N es par.
(12.6)
Para el caso en que N es impar se verica que h[(N 1)/2] = 0.
Si N es impar, el orden M = N 1 del ltro es par y el ltro FIR es Tipo III. Por lo tanto tiene
un cero en = 0 y en = lo que afecta su comportamiento como derivador, ya que el cero en
= introduce una limitacin de banda. Sin embargo, en algunas aplicaciones este es un efecto
deseable.
Si N es par, el orden M = N 1 es impar, y el ltro resulta de tipo IV, que presenta un cero
slo en = 0. Este ltro copia mejor la respuesta en frecuencia deseada, como se puede apreciar
12 CAPTULO 12. FILTROS FIR
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-1
0
1
h
[
n
]
N = 6
0 r/2 r
0
2
4
|
H
(
e
j
c
)
|
0 r/2 r
-0.1
0
0.1
c

|
H
(
e
j
c
)
|
0 r/2 r
-8
-6
-4
-2
0
2
o
[
H
(
e
j
c
)
]
0 1 2 3 4 5 6
-1
0
1
h
[
n
]
N = 7
0 r/2 r
0
2
4
|
H
(
e
j
c
)
|
0 r/2 r
-0.5
0
0.5
c

|
H
(
e
j
c
)
|
0 r/2 r
-10
-5
0
o
[
H
(
e
j
c
)
]
Fig. 12.11: Filtro FIR derivador tipo IV (izquierda) y tipo III (derecha).
0 5 10 15 20 25 30
-1
0
1
h
[
n
]
N = 30
0 r/2 r
0
2
4
|
H
(
e
j
c
)
|
0 r/2 r
-0.1
0
0.1
c

|
H
(
e
j
c
)
|
0 r/2 r
-40
-20
0
o
[
H
(
e
j
c
)
]
0 5 10 15 20 25 30
-1
0
1
h
[
n
]
N = 31
0 r/2 r
0
2
4
|
H
(
e
j
c
)
|
0 r/2 r
-0.5
0
0.5
c

|
H
(
e
j
c
)
|
0 r/2 r
-40
-20
0
o
[
H
(
e
j
c
)
]
Fig. 12.12: Filtro FIR derivador tipo IV (izquierda) y tipo III (derecha).
12.3. EJEMPLOS DE DISEO 13
en la columna de la izquierda de la Fig. 12.11, que muestra la respuesta impulsiva, el mdulo de
la respuesta en frecuencia, el error de la respuesta en frecuencia del ltro vs. la respuesta ideal, y
la respuesta en fase para N = 6. Observe que la fase del ltro comienza en /2 rad. A nes de
comparacin, en la columna de la derecha de la Fig. 12.11 se ilustran las mismas respuestas para
un derivador de largo N = 7. Es evidente la desmejora la respuesta en frecuencia debido al cero en
= .
La Fig. 12.12 muestra la respuesta de derivadores de longitud N = 30 y N = 31. Es interesante
notar que el error de aproximacin del derivador de orden N = 31 es similar al de orden N = 6. Para
reducir an ms el ripple de la aproximacin, los coecientes calculados a partir de las expresiones
(12.6) pueden pesarse por alguna ventana adecuada. 2
Ejemplo 12.7 Diseo de un transformador de Hilbert
La respuesta en frecuencia del transformador de Hilbert ideal es
H
d

e
j

=

j, < < 0,
j, 0 < < ,
de modo que la respuesta impulsiva del ltro ideal no causal para n 6= 0 es
h
d
[n] =
1
2
Z

H
d

e
j

e
jn
d =
1
2
Z
0

je
jn
d +
1
2
Z

0
je
jn
d
=
j
2jn
e
jn

+
j
2jn
e
jn

0
=
1
2n

1 e
jn
e
jn
+ 1

=
1 cos n
n
.
Es sencillo vericar que h[0] = 0. Notando que cos n = (1)
n
, la respuesta impulsiva puede
escribirse
h
d
[n] =
1 (1)
n
n
=

0 si n es par,
2
n
si n es impar.
(< n < )
La truncacin a N muestras y la causalizacin resultan en
h[n] =

1(1)
n
N1
2
(n
N1
2
)
, 0 n N 1, n 6= (N 1) /2,
0, n = (N 1) /2.
si N es impar, (12.7)
h[n] =
1

n
N1
2
, 0 n N 1, si N es par. (12.8)
pues cos [n (N 1) /2] = 0 si N es par.
Segn sea N impar o par se obtienen ltros FIR tipo III o IV, respectivamente, que tienen un
cero en = 0; por lo tanto, el ltro implementable no puede aproximar exactamente la respuesta
del transformador ideal (que tiene mdulo unitario), sino slo sobre un cierto ancho de banda que
depende del orden del ltro. Si N es impar el sistema tiene otro cero en = , lo que desmejora
an ms la respuesta. Sin embargo, el anlisis de (12.7) muestra que la mitad de las muestras de la
respuesta impulsiva del sistema con N impar son nulas, por lo que el costo computacional un ltro
con N impar es el mismo que uno con N par de largo mitad.
La Fig. 12.13 ilustra la respuesta de un transformador de Hilbert tipo IV (N = 6, columna izquierda)
y uno tipo III con N = 7. El mdulo de la respuesta en frecuencia revela para el ltro tipo IV el ancho
de banda til es mayor que para el ltro tipo III por la ausencia del cero en = . La magnitud del
error de aproximacin es similar para los dos tipos de ltros. La curva de fase es lineal en funcin de
, con pendiente (n1)/2, y comenzando en /2 para = 0. La Fig. 12.14 muestra la respuesta
de transformadores de longitud N = 30 (columna izquierda) y N = 31 (columna derecha),que se
comportan como transformadores de Hilbert sobre un ancho de banda ms amplio.
En cualquier caso, la ondulacin o ripple en la banda de paso puede disminuirse aplicando sobre los
coecientes (12.7) o (12.8) del transformador una ventana apropiada, a costa de disminuir an ms
el ancho de banda til del ltro. 2
14 CAPTULO 12. FILTROS FIR
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-0.5
0
0.5
h
[
n
]
N = 6
0 r/2 r
0
0.5
1
|
H
(
e
j
c
)
|
0 r/2 r
-0.2
0
0.2
c

|
H
(
e
j
c
)
|
0 r/2 r
-10
-5
0
o
[
H
(
e
j
c
)
]
0 1 2 3 4 5 6
-0.5
0
0.5
h
[
n
]
N = 7
0 r/2 r
0
0.5
1
|
H
(
e
j
c
)
|
0 r/2 r
-0.5
0
0.5
c

|
H
(
e
j
c
)
|
0 r/2 r
-10
-5
0
o
[
H
(
e
j
c
)
]
Fig. 12.13: Filtro FIR transformador de Hilbert tipo IV (izquierda) y tipo III (derecha).
0 5 10 15 20 25 30
-0.5
0
0.5
h
[
n
]
N = 30
0 r/2 r
0
0.5
1
|
H
(
e
j
c
)
|
0 r/2 r
-0.2
0
0.2
c

|
H
(
e
j
c
)
|
0 r/2 r
-40
-20
0
o
[
H
(
e
j
c
)
]
0 5 10 15 20 25 30
-0.5
0
0.5
h
[
n
]
N = 31
0 r/2 r
0
0.5
1
|
H
(
e
j
c
)
|
0 r/2 r
-0.5
0
0.5
c

|
H
(
e
j
c
)
|
0 r/2 r
-40
-20
0
o
[
H
(
e
j
c
)
]
Fig. 12.14: Filtro FIR transformador de Hilbert tipo IV (izquierda) y tipo III (derecha).
12.4. MTODO DE MUESTREO EN FRECUENCIA 15
Fig. 12.15: Especicaciones del ltro prototipo.
12.4 Mtodo de muestreo en frecuencia
Una manera sencilla de disear ltros FIR es a partir de la especicacin de la respuesta
en frecuencia deseada H
d

e
j
k

para un conjunto de frecuencias


k
, k = 0, 1, ..., N 1.
Ya que la respuesta en frecuencia
H

e
j

=
N1
X
n=0
h[n] e
jn
de un ltro FIR de longitud N es un polinomio de grado N 1 en e
j
con N coecientes
h[n], n = 0, 1, ..., N 1, la especicacin de la respuesta deseada en N frecuencias
k
,
k = 0, 1, ..., N 1 distintas permite determinar de manera nica los coecientes h[n]
desconocidos.
Si la magnitud de la respuesta en frecuencia deseada a la frecuencia
k
, H
d

e
j
k

se nota
H [k], se tiene que
H [0] = H
d

e
j
0

= h[0] +h[1] e
j
0
+ +h[N 1] e
j(N1)
0
,
H [1] = H
d

e
j
1

= h[0] +h[1] e
j
1
+ +h[N 1] e
j(N1)
1
,
.
.
.
H [k] = H
d

e
j
k

= h[0] +h[1] e
j
k
+ +h[N 1] e
j(N1)
k
,
.
.
.
H [N 1] = H
d

e
j
N1

= h[0] +h[1] e
j
N1
+ +h[N 1] e
j(N1)
N1
,
que puede expresarse en forma matricial como

H [0]
H [1]
.
.
.
H [N 1]

| {z }
H
=

1 e
j
0
e
j(N1)
0
1 e
j
1
e
j(N1)
1
.
.
.
.
.
.
.
.
.
.
.
.
1 e
j
N1
e
j(N1)
N1

| {z }
W

h[0]
h[1]
.
.
.
h[N 1]

| {z }
h
y entonces,
h = W
1
H.
Para el caso de un ltro FIR de fase lineal el clculo podra renarse an mas debido a la
simetra de h[n]; por ejemplo, podran especicarse solamente las frecuencias comprendidas
16 CAPTULO 12. FILTROS FIR
entre 0 y , de manera de calcular slo la mitad de las muestras de la respuesta impulsiva
h[n] del ltro real.
Las frecuencias donde se muestrea la respuesta en frecuencia deseada son arbitrarias,
pero una simplicacin importante evitar la inversin de la matriz W se obtiene si las
N frecuencias
k
estn equiespaciadas. Esto es, si

k
=
2
N
k, k = 0, 1, . . . , N 1.
resulta
H [k] = H
d

e
j
k

= H
d

e
j
2
N
k

= h[0] +h[1] e
j
2
N
k
+h[2] e
j
2
N
k2
+ +h[N 1] e
j
2
N
k(N1)
,
que puede escribirse en forma ms compacta como
H [k] =
N1
X
n=0
h[n] e
j
2
N
k n
, (12.9)
que es la TDF de h[n]. Por lo tanto, los coecientes h[n] del ltro FIR pueden computarse
a partir de la TDF inversa de H[k]. En efecto, multiplicando (12.9) por el factor e
j
2
N
k m
,
se tiene
H [k] e
j
2
N
k m
=
N1
X
n=0
h[n] e
j
2
N
k n
e
j
2
N
k m
,
y sumando para k = 0, 1, ..., N 1
N1
X
k=0
H [k] e
j
2
N
k m
=
N1
X
k=0
N1
X
n=0
h[n] e
j
2
N
k (nm)
.
Intercambiando el orden de la suma,
N1
X
k=0
H [k] e
j
2
N
k m
=
N1
X
n=0
h[n]
N1
X
k=0

e
j
2
N
(nm)

k
. (12.10)
Analizando la segunda sumatoria, se observa que
N1
X
k=0

e
j
2
N
(nm)

k
=
1 e
j
2
N
(nm)N
1 e
j
2
N
(nm)
=
1 e
j2(nm)
1 e
j
2
N
(nm)
.
Si nm 6= rN, para r entero, la suma da cero pues e
j2`
= 1. Sin embargo, si nm = rN,
tanto el numerador como el denominador se anulan. Para analizar que sucede en este caso,
es ms sencillo analizar la sumatoria, ya que
N1
X
k=0

e
j
2
N
(nm)

nm=rN
=
N1
X
k=0

e
j
2
N
rN

k
=
N1
X
k=0
1
k
= N
En consecuencia,
N1
X
k=0

e
j
2
N
(nm)

k
=

N, n m = rN
0, en caso contrario
12.4. MTODO DE MUESTREO EN FRECUENCIA 17
o bien
N1
X
k=0
e
j
2
N
k n
=

X
r=
[n rN] , (12.11)
para r entero. Volviendo a la expresin (12.10), limitando los valores de m al rango
0 m N 1, se tiene que
N1
X
k=0
H [k] e
j
2
N
k m
=
N1
X
n=0
h[n] N [n m] = Nh[m] .
Cambiando nuevamente n por m, nalmente se obtiene
h[n] =
1
N
N1
X
k=0
H [k] e
j
2
N
k n
(12.12)
12.4.1 Relacin entre h
d
[n] y h[n]
La relacin entre la respuesta impulsiva h
d
[n] del ltro ideal o prototipo con respuesta en
frecuencia H
d

e
j

y la respuesta impulsiva h[n] del ltro obtenido muestreando H


d

e
j

en determinadas frecuencias
k
= 2k/N, k = 0, 1, ..., N 1 se puede establecer como
sigue. El ltro prototipo tiene una respuesta en frecuencia
H
d

e
j

=

X
`=
h
d
[`] e
j`
,
donde
h
d
[`] =
1
2

H
d

e
j

e
j`
d.
Por otra parte, en cada una de las frecuencias
k
, se tiene
H
d

e
j

=
k
= H [k] =

X
`=
h
d
[`] e
j
2
N
k`
,
y de acuerdo a la expresin(12.12),
h[n] =
1
N
N1
X
k=0
H [k] e
j
2
N
kn
=
1
N
N1
X
k=0


X
`=
h
d
[`] e
j
2
N
k`
!
e
j
2
N
k n
.
Intercambiando el orden de las sumatorias,
h[n] =

X
`=
h
d
[`]
1
N
N1
X
k=0
e
j
2
N
k(`n)
,
donde la segunda sumatoria es la conocida expresin (12.11). Por lo tanto,
h[n] =

X
r=
h
d
[n +rN] . (12.13)
18 CAPTULO 12. FILTROS FIR
La expresin anterior indica que h[n] es la suma de innitas rplicas de h
d
[n], donde cada
rplica est desplazada un mltiplo entero de N muestras, observando el resultado de la
suma solamente en el intervalo 0 n N 1. Por lo tanto, si h
d
[n] es una sucesin de
longitud nita de longitud menor o igual que N, entonces h[n] = h
d
[n] para 0 n N1.
En cambio, si h
d
[n] es una sucesin de longitud innita existir un aliasing temporal de
muestras de h
d
[n] de manera que h[n] puede ser muy diferente a h
d
[n].
12.4.2 Algunas consideraciones sobre la especicacin de la respuesta
deseada
En la presentacin anterior se supuso que las especicaciones de la respuesta en frecuencia
deseada H
d

e
j
k

son adecuadas al tipo de respuesta impulsiva que se busca: por ejemplo,


si se desea que la respuesta impulsiva h[n] sea real, el mdulo

H
d

e
j
k

de la respuesta
en frecuencia deber ser una funcin par, y la fase arg

H
d

e
j
k

una funcin impar.


Una manera sencilla de disear ltros es especicando la respuesta en frecuencia como
una funcin real (es decir, con fase nula) que corresponde a una respuesta impulsiva h
d
[n]
simtrica respecto a n = 0, y posiblemente con n . Con el clculo con
la TDF inversa se obtiene una respuesta impulsiva h[n] de longitud nita denida para
0 n N 1. Debido a la periodicidad de la TDF las ltimas (N 1)/2 muestras, si N
es impar, o las primeras N/2 muestras si N es par, respectivamente, corresponden a las
muestras para n < 0 de la respuesta no causal h
d
[n]. Por lo tanto, de la causalizacin de
la respuesta impulsiva resulta que
h
c
[n] =
(
h[n + (N 1)/2], 0 n < (N 1) /2,
h[n (N 1) /2], (N 1) /2 n N 1.
(N impar)
h
c
[n] =
(
h[n +N/2], 0 n < N/2,
h[n N/2], N/2 n N 1.
(N par)
donde h[n] es el resultado de la TDF inversa sobre H
d

e
j
k

, y h
c
[n] la respuesta impulsiva
del ltro causal.
Ejemplo 12.8 Diseo de un ltro pasabajos (N = 4)
En este ejemplo se disea un ltro pasabajos con frecuencia de corte
c
= /2. Adoptando N = 4,
las frecuencias
k
donde se evala H
d

e
j

son

k
=
2
4
k =

0,
2
4
,
4
4
,
6
4

=

0,

2
, ,
3
2

y H [k] = {1, 1, 0, 1} . Entonces,


h[0] =
1
N
N1
X
k=0
H [k] e
j
k
0
=
1
N
N1
X
k=0
H [k] =
1 + 1 + 0 + 1
4
=
3
4
,
h[1] =
1
N
N1
X
k=0
H [k] e
j
k
1
=
1
4

1 + 1e
j

2
+ 0 + 1e
j
3
2

=
1 +j + (j)
4
=
1
4
,
h[2] =
1
N
N1
X
k=0
H [k] e
j
k
2
=
1
4

1 + 1e
j2

2
+ 0 + 1e
j2
3
2

=
1 + (1) + (1)
4
=
1
4
,
h[3] =
1
N
N1
X
k=0
H [k] e
j
k
3
=
1
4

1 + 1e
j3

2
+ 0 + 1e
j3
3
2

=
1 + (j) +j
4
=
1
4
.
12.4. MTODO DE MUESTREO EN FRECUENCIA 19
0 0.5 1 1.5 2 2.5 3
0.2
0
0.2
0.4
0.6
0.8
h
[
n
]
0 2
0
0.5
1
H
(
e
j

)
0 2
20
10
0

[
H
(
e
j

)
]
0 2
0
2
4

/
d

Fig. 12.16: Respuesta del ltro diseado por el mtodo de muestreo en frecuencia con H
d

e
j
k

=
{1, 1, 0, 1}.
La respuesta impulsiva causalizada es
h
c
[n] = {h[2], h[3], h[0], h[1]} =

1
4
,
1
4
,
3
4
,
1
4

La respuesta impulsiva h[n] se graca en la Fig. 12.16(a), y el mdulo de la respuesta en frecuencia en


la Fig. 12.16(b). El valor de la especicacin del mdulo de la respuesta deseada en cada frecuencia se
ha indicado con crculos: aunque el ltro diseado cumple con los requisitos de diseo, la respuesta
en frecuencia diere bastante de la de un ltro ideal. Adems, como la respuesta impulsiva no es
simtrica, el ltro no es de fase lineal, tal como se aprecia en el grco de la fase y del retardo de
grupo de la Fig. 12.16(c) y (d) , respectivamente. 2
En el siguiente ejemplo se analiza el diseo de un ltro FIR cuya longitud se incrementa
en una muestra.
Ejemplo 12.9 Diseo de un ltro pasabajos (N = 5)
Para el mismo ltro del ejemplo anterior, se desea disear un ltro de longitud N = 5. En conse-
cuencia, las frecuencia de inters son

k
=
2
N
k =

0,
2
5
,
4
5
,
6
5
,
8
5

,
y el mdulo de la respuesta en frecuencia deseado es
H
d

e
j
k

= {1, 1, 0, 0, 1} .
La respuesta impulsiva se puede calcular con Matlab usando el comando ifft, obtenindose
h[n] =

3
5
,
2
5
cos

,
2
5
cos

3
5

,
2
5
cos

3
5

,
2
5
cos

{0.6000, 0.3236, 0.1236, 0.1236, 0.3236} ,


20 CAPTULO 12. FILTROS FIR
0 0.5 1 1.5 2 2.5 3 3.5 4
0
0.2
0.4
0.6
h
[
n
]
0 2
0
0.5
1
H
(
e
j

)
0 2
20
10
0

[
H
(
e
j

)
]
0 2
0
1
2
3

/
d

Fig. 12.17: Respuesta del ltro diseado por el mtodo de muestreo en frecuencia con H
d

e
j
k

=
{1, 1, 0, 0, 1}.
y en consecuencia, la respuesta impulsiva del ltro es
h
c
[n] = {0.1236, 0.3236, 0.6000, 0.3236, 0.1236} ,
que se ilustra en la Fig. 12.17(a) . La respuesta en frecuencia del ltro se graca en la Fig. 12.17(b) ,
y se observa que pasa por los valores especicados. En este caso, como la respuesta impulsiva
resulta simtrica, el ltro es de fase lineal, tal como se evidencia en las Fig. 12.17(c) y (d) . 2
Diseo de ltros de fase lineal
Si se desea que el ltro resultante sea de fase lineal, la respuesta impulsiva debe vericar
h[n] = h[N 1 n],
donde el signo positivo corresponde a los ltros FIR de fase lineal tipo I y II, y el signo
negativo a los de tipo III y IV, respectivamente. Esto se traduce en que las muestras de
la respuesta en frecuencia deseada deben satisfacer
|H[k]| = |H[N k]| , 0 k (N 1) /2, si N es impar
|H[k]| =
(
|H[N k]| ,
0,
0 k N/2 1,
k = N/2,
si N es par
y adems
arg (H[k])=

2
N
N 1
2
k, 0 k b(N 1) /2c ,
2
N
N 1
2
(N k) b(N 1) /2c k N 1,
(Tipos I y II),
12.4. MTODO DE MUESTREO EN FRECUENCIA 21
o
arg (H[k])=

2

2
N
N 1
2
k, 0 k b(N 1) /2c ,

2
+
2
N
N 1
2
(N k) b(N 1) /2c k N 1,
(Tipos III y IV).
donde bc es la funcin piso, denida como el mayor entero menor que su argumento, y
el smbolo de dene la funcin techo: el menor entero mayor que su argumento
1
. Por
ejemplo, b2.4c = 2, b2.4c = 3, d2.4e = 3, d2.4e = 2. En particular, es sencillo
vericar que

N 1
2

N
2
1, si N es par,
N 1
2
, si N es impar,

N 1
2

N
2
, si N es par,
N + 1
2
, si N es impar.
Las ecuaciones de la fase tienen en cuenta que, para obtener un ltro causal, el retardo de
fase del FIR es de (N 1) /2. Como cada cero del mdulo de la respuesta en frecuencia
introduce un desfasaje de radianes, este aporte debe tenerse en cuenta al especicar la
fase. El siguiente programa de Matlab para el diseo de ltros FIR de fase lineal por el
mtodo del muestreo en frecuencia tiene en cuenta estos hechos.
function h=firfs(Hd)
%h = firfs(Hd)
% Esta funcion calcula la respuesta impulsiva de un filtro FIR
% por el metodo de muestreo en frecuencia.
% El vector Hd tiene la informacion del MODULO de la respuesta en
% frecuencia. La funcion se encarga de acomodar la fase para
% obtener un FIR de fase lineal
N = length(Hd);
k = 0:N-1;
DPi = zeros(size(Hd)); % DPi: vector con los saltos de pi
DPi(find(Hd==0)) = 1;
DPi = pi*cumsum(DPi);
Ang = -j*(2*pi*k/N*(N-1)/2+DPi); % fase lineal + saltos de pi
Hdc = Hd.*exp(Ang);
h = real(ifft(Hdc)); % no debiera hacer falta...
En el siguiente ejemplo se repite el diseo del Ejemplo 12.8 pero con especicacin de fase
lineal.
Ejemplo 12.10 Diseo de un ltro pasabajos (N = 4, fase lineal)
Las especicaciones de la respuesta en frecuencia de un ltro pasabajos con frecuencia de corte

c
= /2 para obtener un ltro FIR de fase lineal de longitud N = 4 son
|H [k]| = {1, 1, 0, 1} ,
arg(H[k]) =

2
4
41
2
0,
2
4
41
2
1, ,
2
4
41
2
3 +

,
donde el smbolo * indica que la fase es irrelevante porque el mdulo de la respuesta en frecuencia
es nulo, y al ltimo elemento se le ha sumado un desfasaje de radianes por el cambio de fase
introducido por el cero. En consecuencia,
H[k] =
n
1,

2
2
j

2
2
, 0,

2
2
+j

2
2
o
.
1
Estas funciones se corresponden con los comandos Matlab floor() y ceil(), respectivamente.
22 CAPTULO 12. FILTROS FIR
0 0.5 1 1.5 2 2.5 3
0
0.2
0.4
0.6
h
[
n
]
0 2
0
0.5
1
H
(
e
j

)
0 2
20
10
0

[
H
(
e
j

)
]
0 2
0
1
2

/
d

Fig. 12.18: Respuesta del ltro FIR de fase lineal diseado por el mtodo de muestreo en frecuencia
con H
d

e
j
k

=
n
1,

2
2
j

2
2
, 0,

2
2
+j

2
2
o
.
8 6 4 2 0 2 4 6 8
0
0.2
0.4
0.6
n

m
=


h
d

[
n

m
N
]
8 6 4 2 0 2 4 6 8
0
0.2
0.4
0.6
n
h
[
n
]
Fig. 12.19: Respuesta impulsiva del ltro del Ejemplo 12.10, y la suma de las rplicas de la
respuesta impulsiva del ltro ideal.
12.4. MTODO DE MUESTREO EN FRECUENCIA 23
La TDF inversa de H[k] es
h[n] =
n
1

2
4
,
1+

2
4
,
1+

2
4
,
1

2
4
o
.
La Fig. 12.18 muestra la respuesta del ltro; compare con la respuesta del Ejemplo 12.8 (Fig. 12.16).
El efecto del aliasing temporal en la respuesta impulsiva del ltro se observa en la Fig. 12.19, que
muestra la respuesta impulsiva h[n] del ltro FIR diseado (vea la Fig. 12.18) y las rplicas (cada
N = 4) de la respuesta impulsiva h
d
[n] del ltro ideal
h
d
[n] =

c

sinc

, n .
Es evidente que cada una de las muestras de la respuesta impulsiva es la suma de las innitas
rplicas de h
d
[n], para 0 n 3. Tambin puede apreciarse que la respuesta impulsiva h[n] no es
exactamente igual a ninguna de las rplicas de h
d
[n]. 2
En los ejemplos anteriores la respuesta del ltro diseada diere bastante de la del ltro
ideal. Esto puede atribuirse a que el muestreo en frecuencia no tiene la resolucin su-
ciente, o bien que la respuesta impulsiva es de longitud reducida. La Fig. 12.20 muestra
la respuesta del ltro del Ejemplo 12.10 para N = 15. An en este caso puede apreciase
que la ganancia del ltro en la banda de rechazo tiene picos de amplitud signicativa (la
atenuacin en la banda de rechazo es menor a 20 dB). Este comportamiento se debe al
efecto Gibbs, y puede disminuirse proponiendo una transicin suave. Esta aproximacin
se observa en la Fig. 12.21, donde las muestras vecinas a la zona de transicin se cambiaron
de 1 a 0.4. Con este procedimiento la atenuacin en la banda de rechazo excede los 40 dB.
El ajuste de la ganancia propuesta en la zona de transicin puede hacerse por prueba
y error, como en este caso, o bien aplicando mtodos de programacin lineal de forma
de encontrar los valores que permitan obtener las mayores atenuaciones en la banda de
rechazo con la zona de transicin ms angosta posible. Estos resultados se encuentran
tabulados, por ejemplo en Proakis (1992).
12.4.3 Implementacin
Un ltro FIR diseado por la tcnica de muestreo en frecuencia se puede implementar de
manera recursiva. Partiendo de la expresin de la transformada z de la respuesta impulsiva
H (z) =
N1
X
n=0
h[n] z
n
y de acuerdo con (12.12).
H (z) =
N1
X
n=0

1
N
N1
X
k=0
H [k] e
j
2
N
k n
!
z
n
=
N1
X
k=0
H [k]
1
N
N1
X
n=0
e
j
2
N
k n
z
n
=
N1
X
k=0
H [k]
1
N
1

e
j
2
N
k
z
1

N
1 e
j
2
N
k
z
1
=
1 z
N
N
N1
X
k=0
H [k]
1 e
j
2
N
k
z
1
.
24 CAPTULO 12. FILTROS FIR
0 2 4 6 8 10 12 14
0
0.2
0.4
h
[
n
]
0 2
0
0.5
1
H
(
e
j

)
0 2
60
40
20
0
H
(
e
j

)

[
d
B
]
0 2
40
20
0

[
H
(
e
j

)
]
Fig. 12.20: Respuesta en frecuencia del ltro del Ejemplo 12.10, con N = 15.
0 2 4 6 8 10 12 14
0
0.2
0.4
0.6
h
[
n
]
0 2
0
0.5
1
H
(
e
j

)
0 2
60
40
20
0
H
(
e
j

)

[
d
B
]
0 2
40
20
0

[
H
(
e
j

)
]
Fig. 12.21: Respuesta en frecuencia del ltro del Ejemplo 12.10, con N = 15, donde se han
alterado las muestras vecinas a la zona de transicin.
12.5. MTODOS PTIMOS: ALGORITMO DE REMEZ 25
Fig. 12.22: Implementacion IIR del ltro FIR diseado por muestreo en frecuencia.
Una realizacin basada en la ltima expresin se muestra en la Fig. 12.22. La estructura
usa resonadores recursivos (y por lo tanto de tipo IIR) para realizar la funcin transferencia
de un ltro FIR. El polo de cada resonador en el crculo unidad es cancelado exactamente
por cada uno de los N ceros de

1 z
N

. Tal cancelacin puede no ocurrir en la prctica


debido a la representacin de los coecientes de los ltros utilizando aritmtica de precisin
nita, y en consecuencia, puede resultar en un ltro inestable. Sobre el crculo unidad es
relativamente sencillo demostrar que
H

e
j

=
e
j
N1
2

N
N1
X
k=0
H [k]
sin[(N 2k) /2]
sin[(N 2k) / (2N)]
e
jk
N1
N
y en consecuencia,
H

e
j

=2k/N
= H[k], 0 k N 1
de modo que la respuesta en frecuencia del ltro FIR diseado por el mtodo de muestreo
en frecuencia tiene exactamente la respuesta deseada, H [k] = H
d

e
j
k

, donde
k
=
2k/N, 0 k N 1.
12.5 Mtodos ptimos: algoritmo de Remez
Se debe disear un ltro FIR pasabanda, utilizando el algoritmo de Remez, de manera de
cumplir con las siguientes especicaciones:
Frecuencia de muestreo: 20 kHz
Banda de paso: 5 kHz a 8 kHz
Banda de rechazo: 0 kHz a 4 kHz y 8.5 kHz a 10 kHz
Atenuacin en la banda de rechazo: 46 dB
Atenuacin mxima en la banda de paso: 0.41 dB
En primer lugar, debe estimarse el orden del ltro usando la funcin remezord. El comando
[N,Fo,Mo,W] = remezord(F,M,DEV,Fs) calcula el orden N aproximado del ltro, el vector
de las frecuencias esquina normalizadas Fo, el vector de magnitudes en cada banda Mo y
el vector de pesos W requeridos por la funcin remez que calcula el ltro deseado. El ltro
resultante cumplir aproximadamente con las especicaciones dadas por los vectores de
entrada F, M y DEV.
26 CAPTULO 12. FILTROS FIR
El vector F especica las frecuencias de corte en Hz, en orden ascendente entre 0 y
la mitad de la frecuencia de muestreo Fs. Si no se especica Fs, se toma igual a 2Hz.
De esta forma las especicaciones frecuenciales pueden darse en el estilo normalizado
de Matlab (F
N
= F
s
/2 = 1).
El vector M especica la magnitud de la funcin deseada en las bandas denidas por
F. La longitud de F es el doble de la longitud de M menos 2. La primera banda de
frecuencias comienza en 0, y la ltima siempre termina en Fs/2.
El vector DEV especica las desviaciones mximas (ondulacin o ripple) aceptables
para cada banda.
Es conveniente tener en cuenta que:
El comando remezord frecuentemente subestima el orden N. Si el ltro no cumple
con las especicaciones, debe elegirse un orden mayor (por ejemplo, N+1 o N+2).
Los resultados no son precisos si las frecuencias de corte son prximas a la frecuencia
de Nyquist o a cero.
Para el diseo del ltro, se adopta F = [0.4 [0.5 0.8] 0.85], M = [0 1 0]. La ate-
nuacin pedida para la banda de rechazo (46 dB) corresponde a
r
= 10
46/20
= 0.005012;
se elige
r
= 0.005. Anlogamente, en la banda de paso la mxima ondulacin es
de 1 dB. Entonces |20 log
10
(1
p
)| < 8.82, es decir,
p

= 0.05. Resulta entonces
DEV = [0.005 0.05 0.005]. El comando Matlab necesario para calcular el orden del
ltro es:
[N,F,M,W] = remezord([0.4 [0.5 0.8] 0.85],[0 1 0],[0.005 0.05 0.005])
y los valores obtenidos son
N = 65
F = [0.0000 0.4000 0.5000 0.8000 0.8500 1.0000]
M = [0 0 1 1 0 0]
W = [10 1 10]
Una vez estimado el orden se puede disear el ltro usando el comando remez de Ma-
tlab, que implementa el mtodo de diseo de Parks-McClellan para ltros FIR equirriple
ptimos. B = remez(N,F,M) devuelve un vector de longitud N + 1, cuyos elementos son
los coecientes del ltro FIR de fase lineal que mejor aproxima la respuesta en frecuencia
deseada descripta por F y M, minimizando los mximos de las diferencias. F es un vector
de bandas de frecuencias (cada banda est especicada por un par de nmeros), en orden
ascendente entre 0 y 1, que corresponde a la mitad de la frecuencia de muestreo. M es un
vector de nmeros reales de la misma dimensin que F, que especica la magnitud de la
respuesta en frecuencia deseada. La respuesta en frecuencia prototipo est dada por la
unin con rectas de los puntos [F(k), M(k)] y [F(k + 1), M(k + 1)] para k impar; en este
caso, remez trata la zona entre F(k + 1) y F(k + 2) como bandas de transicin. De esta
forma, la magnitud deseada es lineal a tramos con bandas de transicin. El error entre la
respuesta obtenida y la deseada se minimiza sobre las bandas especicadas, ignorando las
bandas de transicin.
Tambin es posible ponderar el error usando un vector de pesos W, formado por una
componente por cada banda, y por lo tanto su longitud es la mitad que la de F (o M). Los
valores de W indican cunto nfasis pone el algoritmo en minimizar el error de una banda
respecto a las dems.
El ltro se disea en base a los resultados obtenidos por remezord:
12.5. MTODOS PTIMOS: ALGORITMO DE REMEZ 27
|
H
(
e
j

)
|
0 /2
60
50
40
30
20
10
0
0 /2
40
30
20
10
0
10

(
e
j

)
Fig. 12.23: Respuesta en frecuencia (mdulo y fase) del ltro FIR ptimo de longitud N = 65
diseado en base al algoritmo de Remez. Observe el incremento de ganancia (casi +5 dB) en la
primera banda de trancisin.
|
H
(
e
j

)
|
0 /2
60
50
40
30
20
10
0
Fig. 12.24: Mdulo de la respuesta en frecuencia del ltro FIR ptimo de orden N = 66.
hn = remez(N,F,M,W); freqz(hn);
La respuesta en frecuencia del ltro se muestra en la Fig. 12.23, donde se aprecia que las
especicaciones se cumplen con exceso. Sin embargo, en la banda de transicin entre 0.4
y 0.5 se nota un sobrepico de +5 dB, que si bien no viola las especicaciones pedidas,
puede resultar indeseable para alguna aplicacin. Un ligero cambio en el orden del ltro
(N = 66) alivia el problema, tal como se ve en la Fig. 12.24. Si se desea an un mejor
comportamiento en la banda de transicin, tambin puede alterarse ligeramente el vector
de frecuencias esquinas (aqu es nuevamente N = 65).
hn = remez(N,[0 0.41 0.5 0.8 0.85 1],M,W); freqz(hn)
En este caso las especicaciones se cumplen satisfactoriamente (Fig. 12.25), y el diseo
queda completo. La Fig. 12.26 muestra la respuesta impulsiva del tercer diseo.
28 CAPTULO 12. FILTROS FIR
|
H
(
e
j

)
|
0 /2
60
50
40
30
20
10
0
Fig. 12.25: Mdulo de la respuesta en frecuencia del ltro FIR ptimo de longitud N = 65
diseado por el algoritmo de Remez. En este caso, se alter ligeramente la frecuencia esquina de
la primera banda de rechazo.
0 10 20 30 40 50 60
0.3
0.2
0.1
0
0.1
0.2
n
h
[
n
]
Fig. 12.26: Respuesta impulsiva del ltro FIR ptimo diseado por el algoritmo de Remez.
12.6 Referencias
1. Burrus, C., Soewito, A., Gopinath, R.. Least Squared Error FIR Filter Design
with Transition Bands, IEEE Trans. Signal Proc., Vol. 40, no. 6, Junio 1992, pp.
13271340.
2. S. K. Mitra, Digital Signal Processing: A computer-based approach, McGraw Hill,
1998.
3. Proakis, J., Manolakis, D. Digital Signal Processing: Principles, Algorithms, and
Applications, 2da ed., Macmillan, New York, 1992.
12.7. TABLA DE RESPUESTAS IMPULSIVAS DE FILTROS IDEALES 29
12.7 Tabla de respuestas impulsivas de ltros ideales
R
e
s
p
u
e
s
t
a

i
m
p
u
l
s
i
v
a

[
]
c
h
n
(
c
a
u
s
a
l
)
,

0
1
n
N
_
_

.
F
i
l
t
r
o

R
e
s
p
u
e
s
t
a

e
n

f
r
e
c
u
e
n
c
i
a

i
d
e
a
l

[
]
h
n
(
n
o

c
a
u
s
a
l
)
,

n

<
<

.
N

i
m
p
a
r

N

p
a
r

P
a
s
a
b
a
j
o
s
[
]
s
i
n
c
c
c
h
n
n
.
.

(
)
t
t
1
[
]
s
i
n
c
2
c
c
c
N
h
n
n

1
.
.

l
=

(
)

l
t
t

l
1
[
]
s
i
n
c
2
c
c
c
N
h
n
n

1
.
.

l
=

(
)

l
t
t

l
P
a
s
a
a
l
t
o
s
[
]
[
]
s
i
n
c
c
c
h
n
n
n
.
.

=
o

(
)
t
t
1
[
]
2
1
s
i
n
c
2
c
c
c
N
h
n
n
N
n

=
o

1
.
.

(
)

l
t
t

l
N
o

e
s

a
p
l
i
c
a
b
l
e

P
a
s
a
b
a
n
d
a

2
2
1
1
[
]
s
i
n
c
s
i
n
c
c
c
c
c
h
n
n
n
.
.
.
.

(
)
(
)
t
t
t
t
2
2
1
1
1
[
]
s
i
n
c
2
1
s
i
n
c
2
c
c
c
c
c
N
h
n
n
N
n

1
.
.

l
=

(
)

l
t
t

1
.
.

(
)

l
t
t

l
2
2
1
1
1
[
]
s
i
n
c
2
1
s
i
n
c
2
c
c
c
c
c
N
h
n
n
N
n

1
.
.

l
=

(
)

l
t
t

1
.
.

(
)

l
t
t

l
E
l
i
m
i
n
a
b
a
n
d
a

2
2
1
1
[
]
[
]
s
i
n
c
s
i
n
c
c
c
c
c
h
n
n
n
n
=
o
.
.
.
.

(
)
(
)
t
t
t
t
2
2
1
1
1
[
]
2
1
s
i
n
c
2
1
s
i
n
c
2
c
c
c
c
c
N
h
n
n
N
n
N
n

=
o

1
.
.

(
)

l
t
t

1
.
.

l
+

(
)

l
t
t

l
N
o

e
s

a
p
l
i
c
a
b
l
e
D
e
r
i
v
a
d
o
r
(
)
,
j
H
e
j
X
X
X
Q
=
<
(
)
1
,
s
i

0
,
c
o
s
[
]
0
,
s
i

0
,
n
n
n
h
n
n
n
n
'

1 1
=
t
1 1
=
=
! 1 1
=
1 1 +
(
)
(
)
(
) 1
2
0
,
1
2
,
[
]
1
,
c
a
s
o

c
o
n
t
r
a
r
i
o
.
1
2
N
n
c
n
N
h
n
n
N

'
=

1 1 1 1 1
=
!

1 1 1

1 1 +
(
)
1
2
2
1
[
]
1
2 N
n
c
h
n
N
n
Q

(
)
T
r
a
n
s
f
.
H
i
l
b
e
r
t
(
)
,
0
,
,
0
.
j
j
H
e
j
X
Q
X
X
Q

<
<
' 1 1 1
=
!

<
<
1 1 1 +
2
,
s
i


e
s

i
m
p
a
r
,
1
c
o
s
[
]
0
,
s
i


e
s

p
a
r
.
n
n
n
h
n
n
n
Q
Q
Q
' 1 1

1 1
=
=
! 1 1 1 1 +
(
)
(
)
(
) 1
2
0
,
1
2
,
[
]
1
(
1
)
,
c
a
s
o

c
o
n
t
r
a
r
i
o
.
1
2
n
N
c
n
N
h
n
n
N
Q

'
=

1 1 1 1 1 1
=

! 1 1

l
1

l
1 1 +
(
)
1
[
]
1
2
c
h
n
n
N
Q
=

l
30 CAPTULO 12. FILTROS FIR
12.8 Tabla de ventanas tpicas
N
o
m
b
r
e

S
u
c
e
s
i

n

t
e
m
p
o
r
a
l

h
[
n
]
,

0

d
n
d
N

A
n
c
h
o

d
e
l

l

b
u
l
o

p
r
i
n
c
i
p
a
l

A
m
p
l
i
t
u
d

l

b
u
l
o

l
a
t
e
r
a
l

(
d
B
)

P
e
n
d
i
e
n
t
e

l

b
u
l
o
s

(
d
B
/
o
c
t
)

G
a
n
a
n
c
i
a

A
B

r
u
i
d
o

e
q
u
i
v
.

(
m
u
e
s
t
.
s
)

P

r
d
i
d
a

o
n
d
u
l
.

(
d
B
)

E
r
r
o
r

d
e

a
p
r
o
x
.

p
i
c
o

(
d
B
)

E

e
q
u
i
v
.

d
e

v
e
n
t
.

K
a
i
s
e
r

A
n
c
h
o

d
e

t
r
a
n
s
i
c
i

n

d
e

v
e
n
t
.

K
a
i
s
e
r

e
q
u
i
v
R
e
s
p
u
e
s
t
a

T
e
m
p
o
r
a
l

-

R
e
s
p
u
e
s
t
a

e
n

f
r
e
c
u
e
n
c
i
a

(
r
e
l
a
t
i
v
o

y

d
B

n
o
r
m
a
l
i
z
a
d
o
)

r
e
c
t
a
n
g
u
l
a
r

(
b
o
x
c
a
r
)

1

4
t
/
N

1
3

6

1

1

3
.
9
2

2
1

0

1
.
8
1
t
/
N
n
0
N

1
w
[
n
]
c

r
r
0
|W
(
e
j
c
)
|
c
r
0
|W
(
e
j
c
)
|
(
d
B
)
t
r
i
a
n
g
u
l
a
r

(
B
a
r
t
l
e
t
t
)

(
)
2
1
2
1
1
n
N
N

8
t
/
N

2
7

1
2

0
.
5

1
.
3
3

1
.
8
2

2
5

1
.
3
3

2
.
3
7
t
/
N
n
0
N

1
w
[
n
]
c

r
r
0
|W
(
e
j
c
)
|
c
r
0
|W
(
e
j
c
)
|
(
d
B
)
B
l
a
c
k
m
a
n

2
4
0
.
4
2
0
.
5
c
o
s
0
.
0
8
c
o
s
1
1
n
n
N
N
t
t

1
2
t
/
N

5
8

1
8

0
.
4
2

1
.
7
3

1
.
1
0

7
4

7
.
0
4

9
.
1
9
t
/
N
n
0
N

1
w
[
n
]
c

r
r
0
|W
(
e
j
c
)
|
c
r
0
|W
(
e
j
c
)
|
(
d
B
)
H
a
m
m
i
n
g

2
0
.
5
4
0
.
4
6
c
o
s
1
n
N
t

8
t
/
N

4
3

6

0
.
5
4

1
.
3
6

1
.
7
8

5
3

4
.
8
6

6
.
2
7
t
/
N
n
0
N

1
w
[
n
]
c

r
r
0
|W
(
e
j
c
)
|
c
r
0
|W
(
e
j
c
)
|
(
d
B
)
v
o
n

H
a
n
n

1
2
1
c
o
s
2
1
n
N

t
1

(
)

8
t
/
N

3
2

1
8

0
.
5

1
.
5

1
.
4
2

4
4

3
.
8
6

5
.
0
1
t
/
N
n
0
N

1
w
[
n
]
c

r
r
0
|W
(
e
j
c
)
|
c
r
0
|W
(
e
j
c
)
|
(
d
B
)
K
a
i
s
e
r

(
)
(
)
(
)
2
0
0
1
2
1
1
2
n
N
I
N
I

D
e
p
e
n
d
e

d
e
E
D
e
p
e
n
d
e

d
e
E
D
e
p
e
n
d
e

d
e
E
D
e
p
e
n
d
e

d
e
E
D
e
p
e
n
d
e

d
e
E
D
e
p
e
n
d
e

d
e
E



n
0
N

1
w
[
n
]
c

r
r
0
|W
(
e
j
c
)
|
c
r
0
|W
(
e
j
c
)
|
(
d
B
)
E
c
u
a
c
i
o
n
e
s

p
a
r
a

e
s
t
i
m
a
r

e
l
E
y

e
l

o
r
d
e
n
N

d
e

l
a

v
e
n
t
a
n
a

d
e

K
a
i
s
e
r






7
.
9
5
,
2
1
,
2
.
2
8
5
5
.
7
9
1
,
2
1
.
A
A
N
A
'

1 1
>
1 1
^
.
1
=
! 1 1
+
_
1 1
^
.
1 +
,





0
.
4
0
.
1
1
0
2
(
8
.
7
)
,
5
0
,
0
.
5
8
4
2
(
2
1
)
0
.
0
7
8
8
6
(
2
1
)
,
2
1
5
0
,
0
,
2
1
.
A
A
A
A
A
A
' 1

>
1 1 1 1
=

_
_
! 1 1 1
<
1 1 +
C






c
o
n





1
0
,
2
0
l
o
g
s
p
A
^
.
=
.

.
=

o
12.9. EJERCICIOS 31
12.9 Ejercicios
Ejercicio 1 En la gura se muestran las respuestas impulsivas h[n] de cuatro ltros FIR.
Para cada una de ellas:
1. Calcule la respuesta en frecuencia (mdulo y fase).
2. Calcule el retardo de grupo [ () =
d
d
H(e
j
)].
3. Graque los ceros de la funcin transferencia.
4. Observe la relacin entre la simetra de la respuesta impulsiva alrededor de M/2 y
el hecho que M sea par o impar en la ubicacin de los ceros y en la respuesta en
frecuencia. Intente extender sus razonamientos para el caso en que M es un entero
grande (tpicamente mayor que 100).
5. En base a las conclusiones obtenidas en el inciso 4, qu condiciones debe cumplir la
respuesta impulsiva de un ltro FIR pasabajos, segn sea el orden M par o impar?
dem para un ltro pasaaltos.
Ejercicio 2

C Los ltros de la gura son FIR de fase lineal generalizada, causales, y con
respuesta impulsiva h[n] real. Sus rdenes son M
1
, M
2
y M
3
= M
1
+M
2
, y sus longitudes
N
1
= M
1
+ 1, N
2
= M
2
+ 1, N
3
= M
1
+ M
2
+ 1, respectivamente. Cada uno de los tres
ltros puede tener respuesta impulsiva simtrica o antisimtrica, de modo que se pueden
considerar en total ocho posibilidades. Para cul de estos ocho casos el ltro equivalente
tiene fase lineal (exacta o generalizada)? Determine en cada caso si la respuesta impulsiva
del ltro equivalente es simtrica o antisimtrica.
32 CAPTULO 12. FILTROS FIR
Ejercicio 3 La funcin de sistema H
II
(z) representa un ltro FIR tipo II de fase lineal
generalizada, con respuesta impulsiva h
II
[n]. En cascada con este sistema se conecta un
sistema lineal e invariante en el tiempo con funcin de sistema (1 z
1
) para producir un
tercer sistema con funcin de sistema H(z) y respuesta impulsiva h[n]. Determine si el
sistema completo tiene fase lineal generalizada, y en caso armativo, qu tipo de sistema
es (I, II, III o IV).
( )
II
H z
1
(1 ) z
-
-
[ ] x n [ ] y n
( ) H z
Ejercicio 4 Para un ltro FIR de fase lineal con funcin de sistema H(z), demuestre que:
1. si c
k
es un cero de H(z), tambin lo son c

k
, c
1
k
, y (c

k
)
1
(

indica conjugacin).
2. si el ltro FIR es tipo II tiene un cero en = .
Ejercicio 5 La respuesta impulsiva de un ltro FIR pasabajos de fase lineal es h
PB
[n].
La respuesta impulsiva de un ltro FIR pasaaltos se calcula como h
PA
[n] = (1)
n
h
PB
[n].
Si se decide disear un ltro pasaaltos usando esta transformacin, cul de los cuatro
tipos de FIR de fase lineal generalizada pueden usarse para el diseo del ltro pasabajos?
Ejercicio 6 La gura muestra el diagrama de polos y ceros de un ltro FIR.
1. Puede asegurar que el sistema tiene fase lineal a partir del diagrama de polos y
ceros? Justique.
2. Calcule la respuesta impulsiva h[n].
3. Escriba la ecuacin a diferencias.
4. Es causal? Por que? Si la respuesta es negativa, indique cmo sera el diagrama
de polos y ceros de un FIR causal con idntico mdulo de la respuesta en frecuencia,
y escriba la ecuacin a diferencias.
4
3
z =
3
4
z =
1 z =
3
p
12.9. EJERCICIOS 33
Ejercicio 7 En el sistema de la gura, la seal x(t) tiene ancho de banda limitado, con
X (f) = 0 para |f| > 0.5 Hz. El perodo de muestreo es T = 1 s. El ltro FIR es de orden
M par (longitud impar N = M + 1). El ltro debe disearse de manera de satisfacer
y[n] x[n L 0.25]
donde L es un entero positivo.
1. Cul es la respuesta en frecuencia ideal H
d

e
j

del ltro?
2. Elija una longitud N apropiada (que depende de L) y disee el ltro truncando la
respuesta impulsiva del ltro ideal.
3. La funcin de sistema H(z) tiene fase exactamente lineal, fase lineal generalizada,
o respuesta en fase arbitraria?
Ejercicio 8 Determine las respuestas impulsivas h[n] de los ltros ideales:
1. Pasabajos con banda de paso 0 a
p
, y banda de rechazo de
r
a .
2. Pasaaltos con banda de paso de
p
a , y banda de rechazo de 0 a
r
.
3. Pasabanda con banda de paso entre
p1
y
p2
, y banda de rechazo desde 0 a
r1
y
desde
r2
a .
4. Eliminabanda con banda de paso entre 0 a
p1
y desde
p2
a y banda de rechazo
entre
r1
y
r2
.
Ejercicio 9 Calcule las respuestas impulsivas h[n] de los ltros con banda de transicin
suavizada a partir de las respuestas impulsivas de los ltros ideales del Ejercicio 8.
Ejercicio 10 Un ltro FIR con respuesta impulsiva h[n] real debe bloquear todas las
seales sinusoidales reales de frecuencia
k
= k/8, para todo entero k. El ltro debe
tener el menor orden posible.
1. Especique el orden y la funcin transferencia del ltro.
2. El ltro tiene fase exactamente lineal, fase lineal generalizada, o respuesta en fase
arbitraria?
Ejercicio 11

I Diseo de ltros FIR utilizando ventanas. Disee un ltro FIR causal


pasaaltos de longitud 3 con frecuencia de corte
c
usando una ventana triangular.
1. Calcule la respuesta impulsiva h
i
[n] del ltro ideal.
34 CAPTULO 12. FILTROS FIR
2. Calcule la ventana w[n] sugerida, y escriba la respuesta impulsiva h
r
[n] del ltro a
implementar.
3. Calcule la respuesta en frecuencia H
r

e
j

del ltro diseado (mdulo y fase) indi-


cando los puntos signicativos de la respuesta. Comprela con la respuesta del ltro
ideal.
4. Escriba la ecuacin a diferencias que permite implementar el ltro.
Ejercicio 12

M Diseo de ltros FIR utilizando ventanas. Disear un ltro FIR


pasabajos utilizando una ventana apropiada de manera de satisfacer las siguientes especi-
caciones:
Banda de paso: 0 a 1 kHz
Banda de rechazo: 1.4 kHz 4 kHz
Ripple mximo en la bada de paso: 1 dB (0.5dB)
Atenuacin mnima en la banda de rechazo: 50 dB
Frecuencia de muestreo 8 kHz
1. Calcule los coecientes del ltro.
2. Graque la respuesta en frecuencia (mdulo y fase).
Ejercicio 13

M Diseo de ltros FIR utilizando ventanas. Disear un ltro FIR


pasabanda utilizando una ventana adecuada para cumplir los siguientes requerimientos:
Banda de paso: 1 kHz a 2 kHz
Banda de rechazo: 0 a 0.6 kHz y 2.4 kHz a 4 kHz
Ripple mximo en la bada de paso: 1 dB (0.5dB)
Atenuacin mnima en la banda de rechazo: 40 dB
Frecuencia de muestreo 8 kHz
1. Calcule los coecientes del ltro.
2. Graque la respuesta en frecuencia (mdulo y fase) utilizando el comando freqz.
3. Graque la ubicacin de los polos y ceros del ltro en el plano complejo usando la
funcin zplane.
Ejercicio 14

M Comparacin con ltros IIR. Disee un ltro FIR que cumpla las espe-
cicaciones del Ejercicio ?? de la prctica de Filtros IIR (que se repiten abajo) utilizando
el mtodo de diseo de ventanas y un mtodo ptimo (Remez). Compare los resultados
de los tres diseos, prestando especial atencin a la banda de transicin, orden del ltro,
y retardo de grupo.
Banda de paso: 0.5 a 0.8 Hz
Banda de rechazo: 0 a 0.4 Hz; 0.85 Hz a f
s
Hz
Atenuacin mxima en la bada de paso: 1 dB
Atenuacin mnima en la banda de rechazo: 40 dB
Frecuencia de muestreo: f
s
= 2 Hz
12.9. EJERCICIOS 35
12.9.1 Aplicaciones especiales
En los siguientes problemas se estudian aplicaciones especiales de ltros FIR. Explique en
cada caso porqu resulta inconveniente una realizacin IIR.
Ejercicio 15

M La respuesta en frecuencia ideal de un transformador de Hilbert es


H
d
(j) =

j, 0 < ,
j, < < 0.
1. Disee un transformador de Hilbert tipo FIR de orden M 50. M debe ser par o
impar?
2. Graque la respuesta en frecuencia (mdulo y fase). La fase es como la deseada?
3. Este ltro se utiliza de telecomunicaciones, por ejemplo en moduladores de banda
lateral nica (BLU) como muestra la gura. Cmo son los espectros Y
S

e
j

e
Y
L

e
j

?
Curiosidad. La gura muestra un transformador de Hilbert analgico, al menos para
el rango de frecuencias comprendido entre 200 Hz y 4 kHz. Cmo calculara la funcin
transferencia del circuito?
Vi
A B C D E F
A B C D E F
Vo
Vo+90
o
R = 12K
C =0.044u C=0.033u C=0.020u C=0.001u C=5600p C=4700p
Ejercicio 16

M Ensaye el circuito del problema anterior usando Matlab. Una seal x[n]
de longitud aproximadamente nita y ancho de banda aproximadamente limitado se
puede generar con
36 CAPTULO 12. FILTROS FIR
% Seal de espectro preestablecido
frq = [0.0 0.01 0.1 0.15 0.18 0.2 1.0];
mag = [0.0 0.0 1.0 1.0 1.0 0.0 0.0];
x = fir2(200,frq,mag);
La seal x tiene una longitud de 201 muestras. Su espectro puede gracarse con
[X,w] = freqz(x); plot(w/pi,abs(X));
1. Disee el transformador de Hilbert y el ltro pasabanda utilizando algunos de los
mtodos conocidos. Elija el orden del ltro pasabanda igual al del Transformador
de Hilbert. Cul es la nalidad del ltro pasabanda? Cmo elije la banda de paso
del ltro?
2. Genere las seales x
R
[n] y x
I
[n] ltrando la seal x[n] con el ltro pasabanda y el
transformador de Hilbert, respectivamente. Para ltrar las seales puede utilizar
los comandos conv o filter. Compare el mdulo y la fase del espectro X
R

e
j

y
X
I

e
j

de estas seales. Si el mdulo de los mismos coincide (aproximadamente),


graque la diferencia de fase de los espectros.Qu observa?
3. Elija
c
= 0.7 . Las sucesiones cos (
c
n) y sen(
c
n) deben tener una longitud de
por lo menos N = 1000 muestras. Para modular x
R
[n] y x
I
[n] con estas seales
deber hacerlas de igual longitud completndolas con ceros (padding de ceros).
Calcule las seales y
S
[n] e y
L
[n], y sus espectros Y
S

e
j

e Y
L

e
j

.
4. Compare los espectros Y
S

e
j

e Y
L

e
j

calculados en el inciso anterior con el que


resulta de modular x[n] con la seal cos (
c
n).
Ejercicio 17 En muchas aplicaciones, como el generador de BLU del inciso 3 del Ejercicio
15, se necesitan simultneamente la seal x[n] y su transformada de Hilbert x
H
[n]. Para
compensar el retardo de fase introducido por un transformador de Hilbert causal, la seal
x[n] suele ltrarse con un ltro FIR pasabanda del mismo ancho de banda y el mismo
orden que el transformador, como en la gura del Ejercicio 15. Una alternativa a esta
implementacin es utilizar dos ltros IIR o FIR cuya respuesta en fase diera 90
o
. Para
el caso de ltros FIR se aplica una transformacin pasabanda en cuadratura a un ltro
pasabajos, que consiste en multiplicar la respuesta impulsiva h
PB
[n] del ltro pasabajos
por sucesiones c[n] = cos(
0
n), s[n] = sen(
0
n) para obtener las respuestas impulsivas:
h
C
[n] = h
PB
[n]c[n] = h
PB
[n] cos(
0
n),
h
S
[n] = h
PB
[n]s[n] = h
PB
[n] sen(
0
n).
Cada uno de estos ltros pasabanda est centrado en la frecuencia
0
, y tiene el doble
ancho de banda que el ltro pasabajos. Una de las principales ventajas de este diseo
es que ambos ltros tienen la misma caracterstica de ondulacin (ripple) en la banda de
paso, una propiedad altamente deseable en muchos algoritmos de procesamiento de seales
en cuadratura.
1. Demuestre que el diseo propuesto se comporta como un transformador de Hilbert,
es decir, muestre que si se excitan ambos ltros h
C
[n], h
S
[n] con una seal x[n], la
salida de un ltro est en cuadratura respecto a la otra.
2. Determine el mximo ancho de banda posible para el ltro pasabajos h
PB
[n].
12.9. EJERCICIOS 37
3. Determine los rangos admisibles de
0
en funcin del ancho de banda del ltro
pasabajos prototipo, y calcule la banda de paso del transformador de Hilbert
4. El orden de los ltros puede ser par? Por qu?
Nota: Esta tcnica de diseo slo es aplicable para ltros FIR.
Ejercicio 18 En este Ejercicio se explora el uso de la transformada de Hilbert para deter-
minar la envolvente de una seal, en especial aquellas seales oscilatorias de alta frecuencia
que decaen lentamente, como las de resonancia magntica. Si x
H
[n] es la transformada de
Hilbert de x[n], la seal x
A
[n] = x[n] +x
H
[n] se denomina analtica.
1. Si x[n] es una seal real con espectro X(e
j
), calcule los espectros X
H
(e
j
) de x
H
[n]
y X
A
(e
j
) de x
A
[n].
2. Calcule x
H
[n] y x
A
[n] si x[n] = a
n
cos(
0
n)u[n], |a| < 1.
3. Calcule |x
A
[n]| , y comprela con la envolvente de x[n].
Otras aplicaciones de la transformada de Hilbert se detallan en N. Thrane, J. Wismer, H.
Konstantin-Hansen y S. Gade, Practical use of the Hilbert transform, Application Note
BO 0437-11, Brel & Kjaer, Denmark (sin fecha).
Ejercicio 19

M Disear un diferenciador FIR utilizando una ventana de Blackman. La


respuesta en frecuencia de un diferenciador ideal es:
H
d
(e
j
) = (j)e
jM/2
, < < .
1. Disee un diferenciador con M = 40.
2. Graque la respuesta en frecuencia, y el error de aproximacin.
3. Qu problema detecta? Modique el diseo para eliminar este inconveniente. Gra-
que la nueva respuesta en frecuencia y el error de aproximacin.
Ejercicio 20

C Luego que una seal se ltra con un pasabajos FIR de fase lineal es frecuente
efectuar una decimacin, como se muestra en la Fig. 12.27. Si el ltro tiene una banda de
transicin muy angosta, el FIR tendr una respuesta impulsiva de gran longitud y por lo
tanto debern efectuarse un gran nmero de operaciones por cada muestra de salida.
Fig. 12.27: Decimador de una etapa.
1. La Fig. 12.28 muestra una implementacin multietapa que es ventajosa cuando la
frecuencia de corte
c
= (
r

p
)/2 es pequea y el factor de decimacin M es
grande. La idea es adoptar bandas de transicin ms amplias en las primeras etapas
y reducir la longitud de la respuesta impulsiva. La decimacin reduce el nmero
de muestras de la seal disminuyendo signicativamente el nmero de operaciones
necesarias para implementar el decimador.
38 CAPTULO 12. FILTROS FIR
Fig. 12.28: Decimador de mltiples etapas.
(a) Determine el mximo factor de decimacin M admisible para el esquema de la
Fig. 12.27 en funcin de
r
si se desea evitar el aliasing.
(b) Si M = 100,
c
= /100, y
p
= 0.9/100, graque V

e
j

e Y

e
j

cuando
x[n] = [n].
2. Considere ahora una implementacin en dos etapas con M = 100, como se muestra en
la Fig. 12.29, donde M
1
= 50, M
2
= 2,
p1
= 0.9/100,
p2
= 0.9/2, y
r2
= /2.
Se debe elegir
r1
o bien el ancho de la zona de transicin del ltro I (
r1

p1
) de
modo que la implementacin en dos etapas tenga las mismas frecuencias de paso y
de rechazo que el decimador de una nica etapa.
(a) Para el decimador de la Fig. 12.29 graque V
1

e
j

, W
1

e
j

, V
2

e
j

, e
Y

e
j

para una frecuencia


r1
arbitraria, y la entrada x[n] = [n].
(b) Encuentre el mayor valor de
r1
tal que el decimador de dos etapas tenga las
mismas frecuencias de paso y de rechazo que el decimador de una sola etapa de
la Fig. 12.27.
Fig. 12.29: Decimador de dos etapas.
1. Adems de tener una banda de transicin nita, los ltros pasabajos dieren del
ltro ideal por los errores de aproximacin en la banda de paso y en la banda de
rechazo, notados
p
y
r
, respectivamente. Si se utilizan ltros FIR de fase lineal
ptimos (equirriple), el orden aproximado del ltro es
N
10 log
10
(
p

r
) 13
2.324
+ 1
donde =
r

p
es el ancho de la zona de transicin del ltro. Esta ecuacin
sirve para comparar las dos implementaciones del interpolador. Si el ltro se disea
usando la ventana de Kaiser, el orden del ltro viene dado por
N =
A8
2.285
,
donde A = 20 log
10

r
.
(a) Suponga que para el ltro pasabajos implementado con una nica etapa
p
=
0.01 y
r
= 0.001. Calcule la longitud de la respuesta impulsiva del ltro pa-
sabajos, y determine el nmero de sumas y productos necesarios para calcular
cada muestra de la salida. Aproveche la simetra de la respuesta impulsiva
del ltro FIR de fase lineal. (En esta aplicacin de decimacin, slo necesita
calcularse una de cada M muestras de la salida.)
12.9. EJERCICIOS 39
(b) Para el valor de
r1
calculado en el inciso 2b, determine las longitudes N
1
y N
2
de las respuestas impulsivas de los ltros pasabajos I y II. Estime el nmero total
de operaciones necesarias para calcular cada muestra de salida en el decimador
de dos etapas.
(c) Si en el decimador de dos etapas se utilizan las mismas especicaciones de error
que para el de una etapa, la ondulacin total en la banda de paso ser mayor
que 0.01 pues las ondulaciones de las dos etapas pueden reforzarse entre s, ya
que (1 +
p
)(1 +
p
) > (1 +
p
). Para corregir este inconveniente los ltros del
decimador de dos etapas se disean con una ondulacin en la banda de paso
igual a la mitad de la ondulacin de la implementacin de una nica etapa.
Entonces para cada uno de los ltros I y II,
p
= 0.005, y
r
= 0.001. Calcule
las longitudes N
1
y N
2
de las respuestas impulsivas de estos ltros, y determine
el nmero total de operaciones requeridas para calcular cada muestra de salida.
(d) Es necesario reducir la especicacin del error de aproximacin en la banda
de rechazo para los ltros del decimador de dos etapas?
2. La combinacin M
1
= 50 y M
2
= 2 puede no minimizar el nmero total de sumas y
productos necesarios por cada muestra de salida; cualquier eleccin de M
1
y M
2
es
vlida siempre que M
1
M
2
= 100. Determine los valores de M
1
y M
2
que minimizan
el nmero de productos por cada muestra de salida.

You might also like