You are on page 1of 66

Universidad Tecnolgica Nacional

Facultad Regional Baha Blanca


INTRODUCCION AL PROCESAMIENTO
DIGITAL DE SEALES
Ctedra: Tcnicas Digitales III
Profesor: Mag. Guillermo R. Friedrich
Octubre 2002
Indice
Introduccin ......................................................................................................... 1
1. Filtros Digitales ............................................................................................... 1
1.1 Caractersticas de los filtros digitales .................................................. 1
1.2 Caracterizacin de filtros digitales ...................................................... 3
1.2.1 Filtros No Recursivos ........................................................... 3
1.2.2 Filtros Recursivos ................................................................. 4
1.2.3 Redes de Filtrado Digital....................................................... 4
2. Introduccin al anlisis en el dominio del tiempo ........................................ 5
2.1 Sumatoria de Convolucin .................................................................. 8
2.2 Estabilidad ........................................................................................... 9
3. La transformada Z .......................................................................................... 11
3.1 Propiedades de la transformada Z ....................................................... 11
3.2 Transformada Z unilateral ................................................................... 12
3.3 La transformada Z inversa ................................................................... 13
3.4 Otras maneras de hallar la antitransformada Z .................................... 14
3.5 Aplicacin de la transformada Z ..........................................................17
3.5.1 Obtencin de H(z) ................................................................. 17
3.5.2 Criterio de Estabilidad de Jury ..............................................19
3.5.3 Anlisis en el dominio del tiempo ........................................ 20
3.5.4 Anlisis en el dominio de la frecuencia ................................ 21
4. Aproximaciones de filtros analgicos ............................................................ 23
4.1 Conceptos bsicos ............................................................................... 23
4.2 Aproximacin de Butterworth ............................................................ 23
4.2.1 Funcin Transferencia Normalizada .................................... 24
4.3 Otras aproximaciones de filtros analgicos ......................................... 25
4.4 Transformaciones ................................................................................ 26
5. Aproximacin por filtros recursivos ............................................................. 27
5.1 Realizabilidad ...................................................................................... 27
5.2 Mtodo de la Transformacin Bilineal ................................................ 27
5.3 Realizacin de un filtro digital ............................................................ 30
5.4 Propiedades de mapeo de la transformacin bilineal .......................... 33
6. La transformada discreta de Fourier (DFT) ................................................ 35
6.1 Antitransformada discreta de Fourier (IDFT) ..................................... 35
6.2 Interrelacin entre DFT y transformada Z .......................................... 37
6.3 Teorema del muestreo en el dominio de la frecuencia ....................... 38
6.4 Aliasing en el dominio del tiempo ...................................................... 38
6.5 Interrelacin entre la transformada discreta de Fourier (DFT), y la
la transformada contnua de Fourier (CFT) ......................................... 39
7. Algoritmos para el clculo de la transformada rpida de Fourier (FFT) . 41
8. Diseo de filtros no recursivos (FIR) ............................................................ 45
8.1 Propiedades de los filtros no recursivos .............................................. 45
8.2 Diseo de filtros no recursivos usando Series de Fourier ................... 49
8.3 Uso de funciones de ventana ............................................................... 52
8.3.1 Ventana Rectangular ............................................................ 54
8.3.2 Ventanas de von Hann y de Hamming ................................. 55
8.3.3 Ventana de Blackman ........................................................... 55
8.3.4 Ventana de Dolph-Chebyshev .............................................. 56
8.3.5 Ventana de Kaiser ................................................................. 56
8.3.5.1 Un mtodo de diseo de filtros FIR basado
en la ventana de Kaiser .......................................... 58
Bibliografa recomendada
Antoniu A., "Digital Filters. Analysis, Design and Applications", 2 edi-
cin., McGraw-Hill.
Oppenheim, Schafer & Buck, "Tratamiento de Seales en Tiempo Discreto",
2 edicin, Prentice-Hall.
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 1 -
Filtro Digital
Introduccin al Procesamiento Digital de Seales
Introduccin
El procesamiento de seales trata de la representacin, transformacin y manipulacin de seales
y de la informacin que contienen. Por ejemplo, podramos desear separar dos o ms seales
que se han combinado de alguna forma, o podramos querer realzar alguna componente de la
seal o algn parmetro de un modelo de seal. Este procesamiento se puede realizar mediante
teconologa analgica en tiempo contnuo, o como se ha ido difundiendo cada vez ms mediante
procesamiento en tiempo discreto mediante programas y procesadores.
Si las seales a tratar son analgicas, debern ser convertidas en una secuencia de muestras, a fin
de ser procesadas mediante algn algoritmo. Luego, de ser necesario sern vueltas a convertir en
seales analgicas. Un ejemplo de esto es el filtrado de seales de audio.
Es comn que se denomine a esta forma de procesamiento, indistintamente, como procesamiento
digital de seales o procesamiento de seales en tiempo discreto.
Una buena parte del procesamiento de seales involucra el proceso de una seal para obtener
otra seal: es el caso del filtrado digital.
Otra buena parte del procesamiento de seales comprende la interpretacin de seales. En este
caso no se intenta obtener una seal de salida, sino una caracterizacin de la seal de entrada. Un
ejemplo de este tipo de procesamiento es el reconocimiento de voz.
1. Filtros Digitales
Un filtro digital puede ser representado mediante el siguiente diagrama en bloques:
y(nT) = R x(nT) x(nT) y(nT)
x(nT) es la secuencia de entrada -la excitacin del filtro- e y(nT) es la respuesta del filtro ante la
excitacin x(nT).
El anlisis de un filtro digital es el proceso de determinar la respuesta de un filtro ante una dada
excitacin. El diseo de un filtro digital es el proceso de sintetizar e implementar un filtro digital
de tal manera que cumpla con las especificaciones prescriptas.
1.1 Caractersticas de los filtros digitales
Los filtros digitales deben cumplir con las siguientes propiedades:
Invariancia en el tiempo
Causalidad
Linealidad
Invariancia en el tiempo
Partiendo del reposo, y teniendo en cuenta que: x(nT) = y(nT) = 0 n < 0,
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 2 -
un filtro digital es invariante en el tiempo si, para cualquier posible excitacin, se cumple
que:
R x(nT kT) = y(nT kT)
Ejemplos:
(a) y(nT) = 2 nT x(nT)
R x(nT kT) = 2 nT x(nT kT)
son distintos NO es Invariante en el Tiempo
y(nT kT) = 2 (nT kT) x(nT kT)
(b) y(nT) = R x(nT) = 12 x(nT T) + 11 x(nT 2T)
R x(nT kT) = 12 x(nT kT T) + 11 x(nT kT 2T)
son iguales es Invariante
y(nT kT) = 12 x(nT kT T) + 11 x(nT kT 2T) en el Tiempo
Causalidad
Para que un filtro digital sea causal, su salida en un instante dado no puede depender de
valores posteriores de la excitacin.
Es decir: para un par de excitaciones tales que: x
1
(nT) = x
2
(nT) n k y
x
1
(nT) x
2
(nT) n > k
Si el filtro es causal se debe cumplir que: R x
1
(nT) = R x
2
(nT) n k
Ejemplos:
(a) y(nT) = R x(nT) = 3 x(nT 2T) + 3 x(nT + 2T)
Para n=k tenemos: R x1(kT) = 3 x
1
(kT 2T) + 3 x
1
(kT + 2T) =
= 3 x
1
( (k2)T ) + 3 x
1
( (k+2)T )
son distintos
R x
2
(kT) = 3 x
2
( (k2)T ) + 3 x
2
( (k+2)T ) NO Causal
(b) y(nT) = R x(nT) = 2 x(nT T) 3 x(nT 2T)
Si n k (n1) < k y: (n2) < k
x
1
(nT T) = x
2
(nT T) y: x
1
(nT 2T) = x
2
(nT 2T) n k
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 3 -
R x
1
(nT) = R x
2
(nT) n k El filtro es Causal
Linealidad
Un filtro digital es lineal si se cumple que:
R x(nT) = R x(nT)
R [ x
1
(nT) + x
2
(nT) ] = R x
1
(nT) + R x
2
(nT) , x
1
(nT) y x
2
(nT)
O bien:
R [ x
1
(nT) + x
2
(nT) ] = R x
1
(nT) + R x
2
(nT) , , x
1
(nT) y x
2
(nT)
Ejemplos:
(a) y(nT) = R x(nT) = 7 x
2
(nT T)
R x(nT) = 7
2
x
2
(nT T) R x(nT) = 7 x
2
(nT T) No Lineal
(b) y(nT) = R x(nT) = (nT)
2
x(nT + 2T)
R [ x
1
(nT) + x
2
(nT) ] = (nT)
2
[ x
1
(nT + 2T) + x
2
(nT + 2T) ] =
= (nT)
2
x
1
(nT + 2T) + (nT)
2
x
2
(nT + 2T) =
= R x
1
(nT) + R x
2
(nT) Es Lineal
1.2 Caracterizacin de Filtros Digitales
1.2.1 Filtros No Recursivos
Los filtros digitales no recursivos tambin se denominan "de Respuesta Finita al Impulso", y
tambin se los identifica con la sigla FIR (Finite Impulse Response).
La expresin general de un filtro FIR es la siguiente:

y(nT) = a
i
x(nT iT)
i =
Considerando que el filtro es causal tenemos que: a
1
= a
2
= .... = 0, por lo tanto:
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 4 -

y(nT) = a
i
x(nT iT)
i = 0
Si adems se considera que se parte del reposo: x(nT) = 0 n < 0
y si slo una cantidad finita de coeficientes es distinta de cero: a
i
= 0 i > N
Se llega a la siguiente expresin del filtro no recursivo:
N
y(nT) = a
i
x(nT iT) Donde N: orden del filtro
i = 0
Esta expresin indica que el valor de salida actual de un filtro FIR es funcin de la entrada actual
y de las N entradas anteriores.
1.2.2 Filtros Recursivos
Los filtros digitales recursivos tambin se denominan "de Respuesta Infinita al Impulso", y
tambin se los identifica con la sigla IIR (Infinite Impulse Response). La respuesta de un filtro
IIR es funcin de la excitacin y tambin de las respuestas anteriores.
La siguiente es la expresin de un filtro digital recursivo, lineal, invariante en el tiempo y causal:
N N
y(nT) = a
i
x(nT iT) b
i
y(nT iT)
i = 0 i = 1
1.2.3 Redes de Filtrado Digital
La estructura de un filtro digital puede representarse grficamente mediante una red en la que se
combinan los siguientes elementos bsicos:
Retardo unitario: x(nT) T y(nT) y(nT) = x(nT T)
Sumador:
x
1
(nT) k
y(nT) = x
i
(nT)
i=1
x
k
(nT)
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 5 -
Multiplicador:
m
x(nT) y(nT) y(nT) = m x(nT)
Ejemplo:
y(nT) = x(nT) + e

y(nT T)
x(nT) y(nT)
e

T
2. Introduccin al anlisis en el dominio del tiempo
Para analizar el comportamiento temporal de un filtro digital se considera que a la entrada se le
aplica una secuencia determinada. Para ello se utilizan una serie de funciones elementales, que
generan cada una de ellas distintas secuencias. Estas funciones son las siguientes:
1 n = 0
Impulso unitario: (nT) =
0 n 0
1 n 0
Escaln unitario: u(nT) =
0 n < 0
nT n 0
Rampa unitaria: r(nT) =
0 n < 0
Exponencial: e
nT
Sinusoide: sen( nT )
La respuesta temporal de un filtro digital se puede determinar resolviendo la correspondiente
ecuacin de diferencias.
Ejemplo (a):
Hallar la respuesta temporal al impulso de filtro digital cuya ecuacin de diferencias es:
y(nT) = x(nT) + e

y(nT T)
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 6 -
Partiendo del reposo: y(0) = 1 + e

y( T) = 1
y(T) = 0 + e

y(0) = e

y(2T) = 0 + e

y(T) = e
2
.......
y(nT) = e
n
Las siguientes grficas representan la respuesta temporal del filtro en funcin de :
< 0 =0 >0
y(nT) y(nT) y(nT)
1 1
1
nT nT nT
Ejemplo (b):
Hallar la respuesta temporal del filtro dado por la siguiente expresin:
y(nT) = x(nT) + e

y(nT T) < 0
Para la entrada: x(nT) = u(nT) sen( nT)
y(nT) = R sen( nT) = R ( 1 e
j nT
1 e
j nT
) = 1 R e
j nT
1 R e
j nT
=
2j 2j 2j 2j
y(nT) = 1 y
1
(nT) 1 y
2
(nT)
2j 2j
Ahora resolvemos por separado cada una de las componentes de la salida.
y
1
(nT) = R e
jnT
Partiendo del reposo: y
1
(0) = 1 + e

y( T) = 1
y
1
(T) = e
j T
+ e

y
1
(0) = e

+ e
j T
y
1
(2T) = e
j 2T
+ e

y
1
(T) = e
2
+ e
+ j T
+ e
j 2T
.......
y
1
(nT) = e
n
+ e
(n1) + j T
+ .......+ e
j nT
n
y
1
(nT) = e
j nT
e
k ( j T)
k=0
Como esta expresin corresponde a una serie geomtrica, puede demostrarse que :
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 7 -
e
j nT
e
((n+1) j T)
y
1
(nT) =
1 e
( j T)
e
j T
1
Si ahora consideramos la funcin: H(e
j T
) = = = M() e
j()
e
j T
e

1 e
( j T)
1
donde: M() = H(e
j T
) =
1 + e
2
2 e

cos(T)
y:
() = arg H(e
j T
) = T arc tg sen(T)
cos(T) e

y
1
(nT) = u(nT) M() e
j( () + nT)
e
(n+1) + j( () T)
Reemplazando por en y
1
(nT) se obtiene y
2
(nT)
y
2
(nT) = u(nT) M() e
j( () nT)
e
(n+1) + j( () + T)
Como M() = M() y () = () se puede llegar a:
y(nT) = 1 y
1
(nT) 1 y
2
(nT)
2j 2j
y(nT) = M() sen [ nT + () ] M() e
(n+1)
sen [ () T]
estacionario transitorio (tiende a 0 para n )
lm y(nT) = M() sen [ nT + () ]
n
Donde: H(e
j T
) : respuesta en frecuencia
M() : respuesta en amplitud
() : respuesta en fase
x(nT) y(nT)
1- M() -
nT nT
1 -
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 8 -
2.1 Sumatoria de Convolucin
La respuesta de un filtro digital a una excitacin arbitraria puede ser expresada en trminos de la
respuesta del filtro a una entrada impulsiva. Para ello se debe realizar la convolucin entre la
seal de entrada y la respuesta impulsiva.
Una seal de entrada x(nT) puede ser expresada de la siguiente forma:
x(kT) si n=k
x(nT) = x
k
(nT) donde: x
k
(nT) =
k= 0 si nk
Tambin se podra expresar de la siguiente manera:

x
k
(nT) = x(kT) (nT kT) Por lo tanto: x(nT) = x(kT) (nT kT)
k=
Partiendo de esta ltima expresin, vamos a considerar un filtro digital lineal, invariante en el
tiempo, tal que su respuesta impulsiva sea:
h(nT) = R (nT)
y su respuesta a una entrada arbitraria x(nT) sea: y(nT) = R x(nT)

y(nT) = R x(kT) (nT kT) = x(kT) R (nT kT) = x(kT) h(nT kT)
k= k= k=
Si el filtro es causal h(nT) = 0 n < 0, por lo tanto:
n
y(nT) = x(kT) h(nT kT) = h(kT) x(nT kT)
k= k=0
Si adems se considera que: x(nT) = 0 n < 0, la respuesta del filtro digital queda
expresada mediante la siguiente sumatoria de convolucin:
n n
y(nT) = x(kT) h(nT kT) = h(kT) x(nT kT)
k=0 k=0
Ejemplo:
Dado el filtro digital caracterizado por la siguiente expresin: y(nT) = x(nT) + e

y(nT T) ,
calcular, usando la sumatoria de convolucin, la respuesta del filtro a la siguiente excitacin:
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 9 -
1 para 0 n 4
x(nT) =
0 para otro n
Tal como se ha visto ms arriba, la respuesta impulsiva de este filtro es: h(nT) = R (nT) = e
n
La entrada puede expresarse de esta otra forma, en trminos de alguna de las funciones bsicas
que se mencionaron anteriormente:
x(nT) = u(nT) u(nT 5T)
Para n 4 y(nT) = R u(nT),
En un ejemplo anterior ya se ha hallado la respuesta de este filtro al escaln unitario,
entonces tenemos:
n n 1 e
(n+1)
y(nT) = e
k
u(nT kT) = e
k
= 1 e

para n 0
k=0 k=0
0 para n < 0
Para n > 4 y(nT) = R u(nT) R u(nT 5T)
1 e
(n4)
n5 n5 1 e

n 5
R u(nT 5T) = R u( (n5)T ) = e
k
u( (n5)T kT ) = e
k
=
k=0 k=0 0 n < 5
Finalmente, reuniendo ambos resultados en una sola expesin, llegamos a:
1 e
(n+1)
0 n 4
1 e

y(nT) = R u(nT) R u(nT 5T) =
e
(n4)
e
(n+1)
n 5
1 e

2.2 Estabilidad
Un filtro digital es estable si para cualquier excitacin acotada se obtiene una salida acotada, es
decir:
y(nT) < n para x(nT) < n
Vamos a tratar de encontrar la forma de determinar si un filtro es estable:
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 10 -

y(nT) h(kT) . x(nT kT) El mdulo de una suma es menor o igual
k= que la suma de los mdulos; y adems
el mdulo de un producto es menor o
igual que el producto de los mdulos.

Si x(nT) M < n y(nT) M h(kT)
k=

Por lo tanto, si: h(kT) < y(nT) < n
k=
Condicin de estabilidad
Ejemplo: analizar si el filtro dado por y(nT) = x(nT) + e

y(nT T) es estable.
Para este filtro: h(nT) = R (nT) = e
n

Por lo tanto: h(kT) = 1 + e

+ e
2
+ ..... + e
n

k=
e
(k+1)
Esta serie converge si: < 1 Es decir, si: e

< 1
e
k
Por lo tanto, la condicin de estabilidad es: < 0
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 11 -
3. La transformada Z
La transformada Z se utiliza para el anlisis de filtros digitales lineales e invariantes en el
tiempo. Transforma ecuaciones de diferencias en expresiones algebraicas, lo que simplifica los
clculos.
Definicin:
F(z) = f(nT) z
n
Para cualquier z, tal que F(z) converge.
n=- z : variable compleja
z = x + j y
Notacin:
F(z) = Z f(nT)
3.1 Propiedades de la transformada Z
a) Regin de convergencia
- El tipo de funciones que se usa en filtros digitales son funciones meromrficas (sus nicas
singularidades son polos).
- Hay ms de una serie que converge.
Por ejemplo, dado el siguiente diagrama de polos y ceros:
x
x
x
x
x
Se puede ver que hay tres regiones de convergencia: I, II y III
III
x II
I x
x
x
x
Se asume que la serie que interesa es una que converge en la regin III, es decir: R
1
z R
2
donde: z= R
1
es el crculo que pasa por los polos ms alejados del origen
R
2

b) Linealidad
Si a y b son constantes, y Z f(nT) = F(z) y Z g(nT) = G(z), entonces:
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 12 -
Z [ a f(nT) + b g(nT) ] = a F(z) + b G(z)
c) Translacin
Z f(nT + mT) = z
m
F(z)
d) Cambio de escala complejo:
Z [
n
f(nT) ] = F(z)
e) Diferenciacin compleja:
Z [ nT f(nT) ] = T z d F(z)
dz
f) Convolucin Real:
Z f(kT) g(nT kT) = F(z) G(z)
k=
o bien:

Z f(nT kT) g(nT) = F(z) G(z)
k=
3.2 Transformada Z unilateral
De manera anloga a la transformada de Laplace, la transformada Z unilateral es definida as:

F(z) = f(nT) z
n
= Z
I
f(nT)
n=0
Z Z
I
slo si f(nT) 0 para n<0.
Como se trabaja con funciones que son cero para n<0, no es necesario hacer la distincin.
Ejemplos:
a) Z (nT) = (0) + (T) z
1
+ (2T) z
2
+ .......... = 1
1 z
b) Z u(nT) = u(0) + u(T) z
1
+ u(2T) z
2
+ .......... = 1 + z1 + z2 + ........ = =
1 z
1
z 1
K
c) Z u(nT T) K = K z
1
Z u(nT) = (aplicando la propiedad de translacin)
z 1
K z (se aplic la prop.
d) Z [ u(nT) K n ] = K Z [ (1/)
n
u(nT) ] = K Z u(nT) = de cambio de
z z/ z escala complejo)
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 13 -
z
e) Z [ u(nT) e
nT
] = (se parti del ejemplo anterior, y se hizo K=1 y = e
T
)
z e
T
f) Z r(nT) = Z [ nT u(nT) ] = T z d [ Z u(nT) ] = Tz (aplicando prop. de diferenc. compl.)
dz (z1)
2
g) Z [u(nT) sen(wnT)] = Z [ u(nT) ( e
jnT
e
j nT
)] =
2j
= 1 Z [ u(nT) e
jnT
] 1 [ u(nT) ej
nT
] =
2j 2j
Aplicando lo visto en el ejemplo (e), se llega al siguiente resultado:
Z [u(nT) sen(wnT)] = 1 [ z z ] = z sen(nT)_____
2j z e
jT
z e
jT
z
2
2z cos(nT) + 1
3.3 La transformada Z inversa
Si F(z) converge en algn anillo abierto, tal como se vi anteriormente al definir la transformada
Z, entonces es posible obtener f(nT) de la siguiente manera:
f(nt) = 1 F(z) z
n1
dz = Z
1
F(z)
2j
Si: F(z) z
n1
= F
0
(z) = N(z) donde k y m son enteros positivos
k m
i
( zp
i
)
i=1
Aplicando el teorema del residuo se obtiene: f(nT) = res
z=pi
[Fo(z)]
La notacin es la siguiente: f(nt) = Z
1
F(z)
Ejemplos: Hallar la antitransformada Z de las siguientes F(z):
(a) F(z) = (2z 1) z
2 (z1) (z + 0.5)
f(nT) = res
z=1
[ F(z) z
n1
] + res
z=0,5
[ F(z) z
n1
] = (2z 1) z
n
+ (2z 1) z
n
2 (z + 0.5) 2(z 1)
z=1 z=0.5
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 14 -
f(nt) = 1 + 2 ( 1 )
n
Como f(nT)=0 n<0 f(nT) = u(nT) [ 1 + 2 ( 1 )
n
]
3 3 2 3 3 2
(b) F(z) = 1 F
o
(z) = F(z) z
n1
= z
n1
_
2 (z1) (z + 0.5) 2 (z1) (z + 0.5)
Esta F(z) tiene un polo en el origen para n=0 f(0) debe obtenerse por separado.
Para n=0 :
f(0) = ______1_______ + ______1_____ + ____1____ = 1 + _1 + 2 _ = 0
2 (z1) (z + 0.5) 2 (z + 0.5) z 2 (z 1) z 3 3
z=0 z=1 z=0.5
Para n>0 :
f(0) = _____z
n-1
_____ + ___z
n-1
___ = _1 1 ( 1 )
n1
2 (z + 0.5) 2 (z 1) 3 3 2
z=1 z=0.5
Finalmente: f(nT) = a(nT T) [ 1 1 ( 1 )
n1
]
3 3 2
3.4 Otras maneras de hallar la antitransformada Z
Expansin Binomial
F(z) = K = K ( 1 w z
1
)
1
= K ( 1 w z
1
+ w
2
z
2
+ .... ) =
z w z z

F(z) = K ( z + w z
2
+ w
2
z
3
+ .... ) = [ u(nT T) K w
n1
] z
n
n=0
Z
1
[ K ] = u(nT T) K w
n1
Es apta para F(z) con un solo polo.
z w
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 15 -
Fracciones Parciales
k
Si una transformada Z se expresa de la siguiente manera: F(z) = F
i
(z)
i=1
Entonces, la antitransformada Z se puede hallar as:
k
Z
1
F(z) = Z
1
F
i
(z)
i=1
Ejemplo: Sea F(z) = z = 2 1___
(z ) (z ) (z ) (z )
Por lo tanto: f(nT) = 2 u(nT T) ()
n1
u(nT T) ()
n1
= 4 u(nT T) [()
n
()
n
]
Uso del Teorema de Convolucin
Si una transformada Z se puede convertir en el producto de dos transformadas Z cuyas
antitransformadas sean conocidas, mediante convolucin se puede hallar la
antitransformada Z.

Z
1
[ F(z) G(z) ] = f(kT) g(nT kT)
k=
Ejemplo:
Y(z) = z F(z) = z G(z) = 1__
(z 1)
2
z 1 z 1
De la tabla se obtiene: f(nT) = u(nT) g(nT) = u(nT T)

Por lo tanto: y(nT) = u(kT) u(nT T kT) =
k=
y(nT) = u(0) u(nT T) + u(T) u(nT 2T) + ....... = 1 + 1 + 1 +..... = n
y(nT) = n u(n)
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 16 -
Convolucin Compleja
La convolucin compleja permite encontrar la transformada Z del producto de dos
funciones en el dominio del tiempo.

Si: Z f(nT) = F(z) = f(nT) z
n
n=
Y(z) = Z [ f(nT) g(nT) ] = [f(nT) g(nT)] z
n
n=
Z g(nT) = G(z) = g(nT) z
n
n=
Donde: g(nT) = 1 G(v) v
n1
dv
2j
1

Por lo tanto: Y(z) = f(nT) 1 G(v) v
n1
dv z
n
=
n= 2j
1

Y(z) = 1 f(nT) v
n1
z
n
G(v) v
1
dv =
2j
1
n=
Y(z) = 1 F(z/v) G(v) v
1
dv = 1 F(z) G(z/v) v
1
dv =
2j
1
2j
2
Donde:
1
(o
2
) es un contorno en la regin comn de convergencia de F(z) y G(z/v)
de F(z) y G(z/v) ( o de F(z/v) y G(z) ).
Ejemplo: Hallar la transformada Z de y(nT) = u(nT) e
nT
sen T
Sean: f(nT) = u(nT) e
nT
g(nT) = u(nT) sen T
F(z) = z G(z) = z sen T_____
z e
T
(z e
jT
) (z e
jT
)
F(z/v) = z/v = z G(v) = v sen T________
z/v e
T
v z e
T
(v e
jT
) (v e
jT
)
Y(z) = 1 z e
T
sen T_______ dv = z e
T
sen T_________
2j
2
(v z e
T
) (v e
jT
) (v e
jT
) z2 2z e
T
cos T + e
2T

2
1
plano v F(z/v) y G(z) convergen en: |v| < ze
T

|v| > 1
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 17 -
3.5 Aplicacin de la transformada Z
Usando la transformada Z, un filtro digital puede ser caracterizado mediante una funcin
transferencia discreta en el tiempo, que juega el mismo rol que la funcin transferencia contnua
en el tiempo para un filtro analgico.
Considerando un filtro digital lineal e invariante en el tiempo, tal como el siguiente:

y(nT) = x(kT) h(nT kT) Z y(nT) = Z h(nT) . Z x(nT) Y(z) = H(z) . X(z)
k=
3.5.1 Obtencin de H(z)
Para un filtro digital causal y recursivo tenemos:
N N
y(nT) = a
i
x(nT iT) b
i
y(nT iT)
i = 0 i = 1
Por lo tanto:
N N
Z y(nT) = a
i
z
i
Z x(nT) b
i
z
i
Z y(nT)
i = 0 i = 1
N N
Y(z) = X(z) a
i
z
i
Y(z) b
i
z
i
i = 0 i = 1
N N
Y(z) 1 + b
i
z
i
= X(z) a
i
z
i
Como H(z) = Y(z)
i = 0 i = 1 X(z)
N N
a
i
z
i
H
o
( z z
i
)
i=0 i=0
H(z) = Y(z) = = .... factoreando ...=
N N
1 + b
i
z
i
( z p
i
)
i=1 i=1
Donde: z
i
son los ceros y p
i
son los polos
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 18 -
Ejemplo: Hallar la funcin transferencia discreta del siguiente filtro:
U(z)
X(z) Y(z)


Los tres elementos bsicos son:
sumador: y(nT) = x
i
(nT)
x
i
(nT) y(nT) Y(z) = X
i
(z)
multiplicador: y(nT) = m x(nT) m
x
i
(nT) y(nT) Y(z) = m X
i
(z)
retardo: y(nT) = x(nT T)
x(nT) y(nT) Y(z) = z
1
X
i
(z)
U(z) = X(z) + z
1
U(z) z
2
U(z) U(z) = X(z)_______
1 z
1
+ z
2
Y(z) = U(z) + z
1
U(z) = (1 + z
1
) U(z)
Y(z) = (1 + z
1
) X(z)___ H(z) = Y(z) = (1 + z
1
)_____
1 z
1
+ z
2
X(z) 1 z
1
+ z
2
H(z) = z (z + 1)_____ los polos son: p
1
= + j 3_ 1 x
z
2
z + 4
p
2
= j 3_ x
4
Como p
1
< 1 y p
2
< 1 El filtro es estable
T
T
T
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 19 -
3.5.2 Criterio de Estabilidad de Jury
Si expresamos la funcin transferencia discreta de un filtro de la siguiente manera:

N
H(z) = N(z) Donde: D(z) = b
i
z
N i
( se asume b
0
> 0 )
D(z) i=0
Y se construye un arreglo como el siguiente:
Fila Coeficientes
1
2
b
0
b
1
b
2
b
3
b
4
........ b
N
b
N
b
N1
b
N2
........ b
0
3
4
c
0
c
1
c
2
c
3
c
4
........ c
N
c
N
c
N1
c
N2
........ c
0
5
6
d
0
d
1
d
2
d
3
d
4
........ d
N
d
N
d
N1
d
N2
........ d
0
:
:
2N3 r
0
r
1
r
2
Donde: b
0
b
N1
c
i
= i [0, N1]
b
N
b
i
c
0
c
N1
d
i
= i [0, N2]
c
N
c
i
e
i
y subsiguientes se calculan de
manera anloga.
Para que el sistema sea estable se deben cumplir las siguientes condiciones:
a) D(1) > 0
b) (1)
N
D(1) > 0
c) c
0
> c
N1

d
0
> d
N2

.........
r
0
> r
2

Ejemplo: 1 4 3 2 1 1
H(z) = z
4
__________ 2 1 1 2 3 4
4z
4
+ 3z
3
+ 2z
2
+ z + 1
3 15 11 6 1
4 1 6 11 15
5 224 159 79
Verificando: (a) D(1) = 4 + 3 + 2 + 1 + 1 = 11 > 0
(b) (1)4 D(1) = 4 3 + 2 1 + 1 = 3 > 0 El filtro es estable.
(c) r
0
=224 > r
2
=79
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 20 -
3.5.3 Anlisis en el dominio del tiempo
Si se desea obtener la respuesta temporal de un filtro digital caracterizado por una funcin
transferencia discreta H(z), ante una cierta excitacin X(z), se hace lo siguiente:
y(nT) = Z
1
[ H(z) X(z) ]
Ejemplo:
Hallar la respuesta temporal al escaln unitario del siguiente filtro digital:
X(z) Y(z)
1

H(z) = 1 z
1
+ z
2
= z
2
z + 1 = z
2
z + 1 Donde: p
1
= e
j/4
1 z
1
+ z
2
z2 z + (z p
1
) (z p
2
) 2
p
2
= e
j/4
2
X(z) = z__ Y(z) = H(z) X(z) = z (z2 z + 1) = A z + B z + C z__
z 1 (z1)(zp
1
)(zp
2
) (z1) (zp
1
) (zp
2
)
Donde: A=2 B = e
j5/4
C = B* = e
j5/4
2 2
y(nT) = Z
1
[ H(z) X(z) ] = 2 u(nT) + 1 u(nT) [ e
j(n5)/4
+ e
j(n5)/4
]
( 2 )
n1
y(nT) = 2 u(nT) + 1 u(nT) cos[ (n5) /4 ]
( 2 )
n1
y(nT)
2
1
nT
T
T
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 21 -
3.5.4 Anlisis en el dominio de la frecuencia
La respuesta estacionaria de un filtro analgico cuya funcin transferencia es H(s) , se calcula de
la siguiente manera:
lm y(t) = lm R u(t) sen( t) = M() sen[ T + (t) ]
t t
Donde:
M() = H(j) : ganancia
() = arg H(j) : desplazamiento de fase
Si consideramos un filtro digital de orden N, la respuesta a una excitacin senoidal es:
y(nT) = Z
1
[ H(z) X(z) ] donde: X(z) = Z [ u(nT) sen(nT) ] = z sen(nT)___
(ze
jT
)(ze
jT
)
O sea:
y(nT) = H(z) X(z) z
n1
dz = res [ H(z) X(z) z
n1
]

Para n > 0 tenemos:

N
y(nT) = res [ H(z)] x(p
i
) p
i
n1
+ 1 [ H(e
jT
) e
jnT
H(e
jT
) e
jT
]
i=1 z=p
i
2j
Como p
i
<1 , este trmino
tiende a cero para n
Por lo tanto: y(nT) 1 [ H(e
jT
) e
jnT
H(e
jT
) e
jT
]
2j
Como: H(e
jT
) = H*(e
jT
) y si: H(e
jT
) = M() e
j()
Donde: M() = H(e
jT
) y () = arg H(e
jT
)
y(nT) = M() sen[nT + ()]

N
j
zi
T
H
0
(e
jT
z
i
) e
jT
z
i
= M
zi
e
H(e
jT
) = M() e
j()
= i=1________ Donde:

N
j
pi
T
(e
jT
p
i
) e
jT
p
i
= M
pi
e
i=1
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 22 -
As obtenemos:
N
H
0
M
zi

N

N
M() = i=1________ () =
zi

pi

N
i=1 i=1
M
pi
i=1
Por lo tanto, M() y () pueden obtenerse dibujando los fasores en el plano, y midiendo sus
magnitudes y sus ngulos.
Para un filtro recursivo de segundo orden tenemos:

z1
M
z1
o El punto A =

p1
M
p1
z
1
C = /T (frecuencia
p
1
de Nyquist)
M
p2
M
Z2
C A Una vuelta completa alrededor del

p2
origen corresponde a un incremento
de frecuencia de
S
= 2
p
2

z2
T
o Donde
S
: frecuencia de muestreo
z
2
Como:
H(e
jT
) = H(e
j(+ ks)T
) = H(e
jT
) H(e
jT
) es peridica con perodo
S
A los fines prcticos se trabaja con un perodo
S
,
S
llamado banda base.
Ejemplo:
Hallar la respuesta en frecuencia en fase y amplitud para el siguiente filtro,
considerando:
S
= 2 [rad/seg] ( A
0
= 0.4 A
1
= 0.303 y A
2
= 0.0935 ).
H(z) = A
2
z
2
+ A
1
z + A
0
+ A
1
z
1
+ A
2
z
2
z
2
H(e
jT
) = A
2
( e
j2T
+ e
j2T
) + A
1
( e
jT
+ e
jT
) + A
0
=
e
j2T
H(e
jT
) = 2 A
2
cos(2T ) + 2 A
1
cos(T) + A
0

e
j2T
M() = H(e
jT
) = 2 A
2
cos(2T ) + 2 A
1
cos(T) + A
0

0 si (2 A
2
cos(2T ) + 2 A
1
cos(T) + A
0
) > 0
() =
N
2T donde:
N
=
para otro caso
x
x
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 23 -
4. Aproximaciones de filtros analgicos
Un filtro digital recursivo se puede aproximar usando alguna de las siguientes aproximaciones de
filtros analgicos:
- Butterworth
- Tschebyscheff
- Elipticos
- Bessel
4.1 Conceptos Bsicos
La funcin transferencia de un filtro analgico se puede expresar como: V
0
(s) = H(s) = N(s)
V
i
(s) D(s)
Donde: N(s) y D(s) son polinomios en funcin de s = + j
Atenuacin en dB: A() = 20 log V
i
(j) = 20 log 1 = 10 log L(
2
)
V
o
(j) H(j)
Donde: L(
2
) = 1_______
H(j) H(j)
Desplazamiento de fase: (j) = arg H(j)
Retardo de grupo: = d(j)
d
De aqu surgen las curvas caractersticas de Atenuacin, Fase y Retardo en funcion de .
Con = s hacemos: L(s
2
) = D(s) D(s) Funcin de atenuacin
j N(s) N(s)
Un par de diagramas tpicos de polos y ceros de H(s) y L(s
2
) son como los siguientes:
j j
H(s) x 2 L(s
2
)
x
x
x
x 2
4.2 Aproximacin de Butterworth
La aproximacin mas simple para un pasabajos es la de Butterworth.
Se asume que: L(
2
) = B
1

2
+ B
2

4
+ ....... + B
n

2n
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 24 -
tal que: lm L(
2
) = 1 L(0) = 1 B
o
= 1

2

Se puede llegar a que B
1
= B
2
= ..... = B
n
= 0 L(
2
) = 1 + B
n

2n
Como para un pasabajos normalizado: A() = 3dB a = 1 [rad/seg]
B
n
= 1 L(
2
) = 1 +
2n
La atenuacin de un pasabajos Butterworth normalizado es: A() = 10 log(1+
2n
) , y en la
siguiente figura se presentan las curvas de atenuacin en funcin de n (orden del filtro).
4.2.1 Funcin Transferencia Normalizada
2n
Con = s tenemos: L(s
2
) = 1 + (s
2
)
n
= (s s
k
)
j k=1
s
k
= e
j(2k1) / 2n
para n par
donde:
s
k
= e
j(k1) / n
para n impar
Como | s
k
| = 1 , los ceros de L(s
2
) estn en el crculo |s| = 1.
La funcin transferencia normalizada puede ser expresada como:
1
H
N
(s) = donde: p
i
son los ceros de L(s
2
) en el semiplano izquierdo.
n
(s p
i
)
i=1
n=3
n=6
n=9
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 25 -
Ejemplo: hallar H
N
(s) para: (a) n=2 (b) n=3
(a) n = 2 (par) s
k
= e
j(2k1) / 2n
s
k
= e
j(2k1) / 4
s
1
= e
j / 4
(semiplano derecho)
s
2
s
2
= e
j 3 / 4
s2 = 1 + j 1
2 2
s
3
= e
j 3 / 4
s2 = 1 j 1
2 2
s
3
s
4
= e
j 7 / 4
(semiplano derecho)
H
N
(s) = 1 = 1_______
(s + 1 j 1 ) (s + 1 + j 1 ) ( s
2
+ 2 s + 1 )
2 2 2 2
(b) n = 3 (impar) s
k
= e
j(k1) / n
s
k
= e
j(k1) / 3
= cos (k1) + j sen (k1)
3 3
s
3
= 0.5 + j 3_ s
3
2
s
4
= 1
s
5
= 0.5 + j 3_ s
4
2
H
N
(s) = 1 s
5
(s + 1) (s
2
+ s + 1)
4.3 Otras aproximaciones de filtros analgicos
Adems de la aproximacin de Butterworth, existen otras aproximaciones para filtros analgicos,
de las cuales las siguientes son las ms conocidas.
Aproximacin de Tschebyscheff
La atenuacin en la banda de paso oscila entre 0 y un mximo permitido
La atenuacin en la banda de rechazo aumenta monotnicamente.
X
X
X
X
X
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 26 -
Aproximacin Elptica
La atenuacin en la banda de paso oscila entre 0 y Ap.
La atenuacin en la banda de rechazo oscila entre y Aa.
Aproximacin de Bessel
Tiene una respuesta lineal en fase ( a diferencia de las tres anteriores ).
4.4 Transformaciones
Partiendo de un filtro pasabajos normalizado, se pueden obtener filtros pasabajos, pasaaltos,
pasabandas y rechazabandas desnormalizados. Para tal fin se utilizan transformaciones de la
forma:
s = f( s ).
PasaBajos PasaBajos : s = s
PasaBajos PasaAltos : s = _
s
PasaBajos PasaBanda: s = 1 ( s +
o
2
)
B s
PasaBajos RechazaBanda: s = B s___
s
2
+
o
2

Ejemplo:
Hallar la funcin transferencia de un filtro pasabajos de Buterworth de orden 3. La frecuencia de
corte (3 dB) debe ser de 2000 Hz.
H
N
(s) = 1_______ =
oN
= 1 = 1
(s + 1) (s
2
+ s + 1)
oD
2 2000 4000
H
PB
() = 1 =
3
=
( + 1) ( ()
2
+ + 1 ) ( +
1
) (
2
+
1
+
2
)
H
PB
() = 1.9844 . 10
12
__________________
( + 12566.37) (
2
+ 12566.37

+ 157.9137 . 10
6
)
Como se ver posteriormente, una de las aplicaciones de los filtros digitales es el procesamiento
de seales analgicas, con un esquema como el siguiente:
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 27 -
x
~
(t) x(nT) y(nT) y~(t)
x(t) y(t)
c(t)
Una posibilidad para el diseo y sntesis del filtro digital es partir de la funcin transferencia del
filtro analgico, y aplicarle una transformacin para hallar H(z), y posteriormente implementar el
filtro digital.
Las transformaciones para pasar de un filtro analgico a un filtro digital recursivo son:
Mtodo de la respuesta invariante al impulso
Variante del anterior
Transformada Z asociada
Transformacin Bilineal es la ms comn.
5. Aproximacin por filtros recursivos
Al igual que para los filtros analgicos, la etapa de aproximacin es el proceso a travs del cual
se obtiene una funcin transferencia que satisfaga los requerimientos.
Los filtros digitales recursivos pueden obtenerse a partir de aproximaciones de filtros analgicos,
mediante alguno de los mtodos recin mencionados.
5.1 Realizabilidad
A fin de poder ser implementada mediante un filtro recursivo, una funcin transferencia debe
satisfacer las siguientes condiciones:
1) Debe ser una funcin real de z con coeficientes reales.
2) Sus polos deben estar dentro del crculo unidad en el plano Z.
3) El grado del polinomio del numerador debe ser de grado menor o igual al grado del
polinomio del denominador.
5.2 Mtodo de la Transformacin Bilineal
El objetivo de la transformacin Bilineal es lograr un filtro digital cuya respuesta temporal sea
similar a la respuesta temporal del filtro analgico de origen, ante cualquier excitacin.

N
Se parte de la funcin transferencia analgica: a
i
s
Ni
H
A
(s) = i=0

N
s
N
+ b
i
s
Ni
F
PB
A/D
FILTRO
DIGITAL
D/A F
PB
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 28 -
Y se obtiene H
D
(z) mediante el siguiente reemplazo: s = 2 (z 1) donde T : perodo de
T (z + 1) muestreo
Es decir: H
D
(z) = H
A
(s)
s = 2 (z1)
T (z+1)
Demostracin:
Un integrador analgico con funcin transferencia H
I
(s) = 1 , tiene una respuesta
temporal al impulso: s
1 para t 0+
L
1
H
I
(s) = h
I
(t) =
0 para t 0

t
Y su respuesta temporal ante cualquier excitacin ser: y(t) = x() h
I
(t) d
0
x()
t
1
t
2

Considerando: 0+ < t
1
< t
2
, podemos escribir:
t
1
t
2
y(t
2
) y(t
1
) = x() h
I
(t) d x() h
I
(t) d
0 0
Como para 0+ < < t
1
, t
2
h
I
(t
1
) = h
I
(t
2
) = 1
t
2
y(t
2
) y(t
1
) = x() h
I
(t) d
t
1
Si t
1
t
2
y(t
2
) y(t
1
) t
2
t
1
[ x(t
1
) + x(t
2
) ]
2
haciendo t
1
= nT T , t
2
= nT y(nT) y(nTT) = T [ x(nTT) + x(NT) ]
Y(z) z
1
Y(z) = T [ z
1
X(z) + X(z) ]
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 29 -
Y(z) [ 1 z
1
] = T X(z) [ z
1
+ 1 ]
H
I
(z) = Y(z) = T z
1
+ 1 = T z + 1
X(z) 2 1 z
1
2 z 1
Es decir: H
I
(z) = H
I
(s)
s = 2 (z1)
T (z+1)
Y en general: H
D
(z) = H
A
(s) Transformacin Bilineal
s = 2 (z1)
T (z+1)
Ejemplo:
Hallar la funcin transferencia discreta en el tiempo, partiendo de un
pasabajos analgico con frecuencia de corte igual a 2000 Hz, usando aproximacin de
Butterworth con n=3. Considerar T=125 seg (8000 muestras/seg). Aplicar
transformacin Bilineal.
H
N
(s) = 1 Si = 1 H
PB
() =
3
_________
(s+1) (s
2
+ s + 1) 2 2000 (+
1
)(
2
+
1
+
2
)
Aplicando la transformacin Bilineal: s = 2 (z1) y luego de realizar los pasos
T (z+1) algebricos correspondientes, se
llega a la siguiente expresin:
H
D
(z) = 0.112958 (z + 1) (z
2
+ 2z + 1)______
(z
2
0.318993 z + 0.346114) (z 0,120198)
Finalmente, una posible realizacin de este filtro es la siguiente:
0.112958
x(nT) y(nT)

0.120198 0.3118993 2

0.346114
T
T
T
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 30 -
5.3 Realizacin de un filtro digital
1. Realizacin Directa

N
Y(z) = H(z) = N(z) = N(z)__ Donde: N(z) = a
i
z
i
X(z) D(z) 1 + D'(z) i=0

N
D'(z) = b
i
z
i
i=1
Y(z) [ 1 + D'(z) ] = X(z) N(z)
Y(z) = X(z) N(z) Y(z) D'(z) X(z) Y(z)
Ejemplo: N(z) = a
0
+ a
1
z
1
+ a
2
z
2
D'(z) = b
1
z
1
+ b
2
z
2
N(z) X(z) X(z) N(z)

a
1

a
2
D'(z) X(z) N(z) Y(z)

b
1

b
2
N(z)
D'(z)
T
T
T
T
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 31 -
Filtro completo: X(z) Y(z)
a
0

a
1
b
1

a
2
b
2
2. Realizacin Directa Cannica
Minimiza la cantidad de retardos: la cantidad de retardos es igual al orden del
filtro.
Y(z) = H(z) = N(z) = N(z)__ Se puede expresar como: Y(z) = N(z) Y'(z)
X(z) D(z) 1 + D'(z)
Donde: Y'(z) = X(z) Y'(z) = [ 1 + D'(z) ] = X(z)
1 + D'(z)
Y'(z) = X(z) Y'(z) D'(z)
X(z) Y'(z)
Y(z) = N(z) Y'(z) X(z) Y'(z)
Volviendo al ejemplo anterior:
T
T
T
T
D'(z)
D'(z)
N(z)
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 32 -
X(z) Y(z)
a
0

b
1
a
1

b
2
a
2
(*) y (**) Como lo que est almacenada en cada par de retardos son los mosmos valores,
el filtro puede quedar finalmente as:
X(z) Y(z)
a
0

b
1
a
1

b
2
a
2
Solucin Cannica
T
T
T
T
T
T
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 33 -
5.4 Propiedades de mapeo de la transformacin bilineal
La transformacin bilineal tiene como objetivo que el filtro digital obtenido tenga la misma
respuesta temporal que el filtro analgico de origen.
Por otra parte, puede haber diferencias entre la respuesta en frecuencia del filtro digital y la del
filtro analgico de origen. Esto es lo que se analiza a continuacin.
s = 2 (z1) z = 2/T + s_ Con s = + j z = 2/T + + j
T (z+1) 2/T s 2/T j
Considerando que z = r e
j
r = (2/T + )
2
+
2
(2/T )
2
+
2
= arc tg arc tg ___
2/T + 2/T +
si > 0 r > 1 j
si = 0 r = 1
si < 0 r < 1
s=j s=0

s=j
La transformacin bilineal mapea:
El semiplano derecho del plano s en la regin |z| > 1
El eje j en la circunferencia |z| = 1
El semiplano izquierdo del plano s en la regin |z| < 1
Si = 0 r = 1 = 2 arc tg (T / 2) si = 0 = 0
si + +
si
El efecto "warping" (distorsin de frecuencia)
Si : frecuencia en el filtro analgico,
y : frecuencia en el filtro digital
H
D
(e
jT
) = H
A
(j)
Del anlisis anterior obtuvimos que: = 2 arc tg (T / 2)
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 34 -
Como = T = 2 tg( T ) Si < 0.3 :
T 2 T
Es decir que para que el filtro digital tenga una cierta atenuacin a una frecuencia , debe
disearse el filtro analgico de origen con la correccin dada por = 2 tg(T)
T 2
Por ejemplo: para el pasabajos de Butterworth de orden 3, una frecuencia de corte (3 dB) de
2000 Hz y perodo de muestreo T=125 seg, el filtro analgico debera calcularse
para una frecuencia de corte de:
= 2 tg 2 2000 125 x 10
6
= 16000 rad/seg
125 x 10
6
2
f = = 16000 = 2546,48 Hz f = 2546,48 Hz
2 2
Esta correccin se denomina "prewarping".
A continuacin se trata de obtener la funcin transferencia del filtro digital:
H
N
(s) = 1 Si = 1 H
PB
() =
3
__________
(s+1) (s
2
+ s + 1) 2 2546,48 (+
1
)(
2
+
1
+
2
)
Aplicando la transformacin Bilineal: s = 2 (z1) y luego de realizar los pasos
T (z+1) algebricos correspondientes, se
llega a la siguiente expresin:
H
D
(z) = 0.166667 (z + 1) (z
2
+ 2z + 1) _ = 0.166667 (1 + z
1
) (1 + 2 z
1
+ z
2
)
z (z
2
+ 0.333333) ( 1 + 0.333333 z
2
)
Una posible realizacin de este filtro es la siguiente:
0.166667
x(nT) y(nT)

0 0 2

0.333333
Observacin: calculando este mismo filtro con algn programa (por ej.: QED Lite), puede
darse alguna diferencia en los valores de los coeficientes, debido a los erro-
res de redondeo que cometen dichos programas. (por ej.: en lugar de anu-
larse los trminos en z
1
del denominador, toman valores muy pequeos).
T
T
T
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 35 -
6. La transformada discreta de Fourier (DFT)
Dada una seal x(nT) real, discreta en el tiempo y de duracin finita, puede formarse una seal
peridica, con perodo NT, x
p
(nT), de la siguiente manera:

x
p
(nT) = x(nT + rNT)
r =
x(nT) x
p
(nT)
nT nT
NT
La transformada discreta de Fourier de x
p
(nT) se define de la siguiente forma:

N1
W = e
j2/N
X
p
(jk) = x
p
(nT) W
kn
= D x
p
(nT) donde: =
s
/ N
n=0
s
= 2 / T
En general X
p
(jk) es complejo, y puede expresarse de la siguiente forma:
X
p
(jk) = A(k) e
j( k )
donde: A(k) = |X
p
(jk)| espectro de amplitud
(k) = arg X
p
(jk) espectro de fase
6.1 Antitransformada discreta de Fourier (IDFT)
x
p
(nT) se denomina "antitransformada discreta de Fourier" de X
p
(jk), y est dada por la
siguiente expresin:

N1
x
p
(nT) = 1 X
p
(jk) W
kn
= D
1
X
p
(jk)
N k=0
Demostracin:

N1

N1

N1

N1

N1
1 X
p
(jk) W
kn
= 1 x
p
(mT) W
km
W
kn
= 1 x
p
(mT) W
k(nm)
N k=0 N k=0 m=0 N m=0 k=0
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 36 -

N1
N si m=n
Como: W
k(nm)
=
k=0 0 para otro caso

N1

N1

N1
1 X
p
(jk) W
kn
= 1 x
p
(mT) W
k(nm)
= x
p
(nT)
N k=0 N m=0 k=0
1 si 2 n 6
Ejemplo: calcular la DFT para la siguiente seal: x
p
(nT) = N=10
0 otro n
6
X
p
(jk) = W
kn
= W
2k
W
7k
como W = e
j2/N
=

e
j /5

n=2 1 W
k
serie geomtrica de trminos finitos
X
p
(jk) = e
j 4/5
sen (k/2)_
sen (k/10)
Los siguientes graficos representan x
p
(nT) y A(k)
x
p
(nT) A(k)
1 5
nT k
10T 10 20
La siguiente tabla muestra los valores de A(k), para 0 k 9, correspondientes al
grfico anterior.
k 0 1 2 3 4 5 6 7 8 9
A(k) 5 3.236 0 1,236 0 1 0 1.236 0 3.236
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 37 -
6.2 Interrelacin entre DFT y transformada Z
La DFT de x
p
(nT) puede derivarse de la transformada Z, tal como se ve a continuacin:

N1

N1
X
p
(jk) = x(nT + rNT) W
kn
= x(nT + rNT) W
kn
n=0 r = r = n=0
Haciendo n = m rN obtenemos la siguiente expresin:

rN+N1
X
p
(jk) = x(mT) W
k (mrN)
=
r = m=rn

1

N1

2N1
= .... + x(mT) W
km
+

x(mT) W
km
+

x(mT) W
km
+ ..... =
m=N m=0 m=N

X
p
(jk) = x(mT) W
km
m =
Reemplazando W=e
j2/N
y m por n obtenemos la siguiente expresin:

X
p
(jk) = x(nT) e
jk nT
=

X
D
(e
jk T
)
n =
X
p
(jk) = X
D
(e
jk T
) X
D
(z) = x(nT) La DFT de x(nT) es numrica-
mente igual a la transformada
Z de x(nT) muestreada en el
crculo |z| = 1.
3
Ejemplo: N=12 4 2
plano Z
5 1
kT
6 0
7 11
8 10
9
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 38 -
6.3 Teorema del muestreo en el dominio de la frecuencia
El teorema del muestreo en el dominio de la frecuencia es anlogo al teorema del muestreo en el
dominio del tiempo, el cual dice que si x(t) es tal que X(j) = 0 para ||
s
/2, donde
s
= 2/T,
entonces: x(t) puede obtenerse a partir de x(nT).
El teorema del muestreo en el dominio de la frecuencia dice que una transformada Z X
D
(z) para
la cual:
x(nT) = Z
1
X
D
(z) = 0 para n N y para n<0
puede ser determinada a partir de los valores de X
D
(e
jkT
), donde =
s
/ N.
Asimismo: X
D
(z) puede obtenerse de la DFT de x
p
(nT) de acuerdo a lo visto en el punto anterior.
Por lo tanto: Si x(nT)=0 para nT<0 o nT NT, entonces:
x
p
(nT) puede obtenerse de x(nT), y
X
p
(jk) puede obtenerse de X
D
(z)
Y, por otra parte, x(nT) y X
D
(z) pueden obtenerse a partir x
p
(nT) y X
p
(jk) respectivamente.
x(nT) = [ u(nT) u(nT NT) ] x
p
(nT)

N1
X
D
(z) = 1 X
p
(jk) 1 z
N
___ x(nT) puede ser representada por la DFT de x
p
(nT)
N k=0 1 W
k
z
1
Cualquier seal discreta en el tiempo de duracin finita, puede ser procesada
empleando algoritmos de Transformada Rpida de Fourier (FFT), si se adopta
un valor de N lo suficientemente grande.
6.4 Aliasing en el dominio del tiempo
Si x(nT) 0 para n N o n<0, x
p
(nT) y X
p
(jk) pueden obtenerse a partir de x(nT) y X
D
(z).
Sin embargo, en este caso x(nT) no podr ser recuperada a partir de x
p
(nT) haciendo:
x(nT) = [ u(nT) u(nTNT) ] x
p
(nT)
Esta situacin se puede ver en las siguientes figuras:
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 39 -
x(nT) x
p
(nT)
nT nT
NT
Asimismo: la expresin de X
D
(z) en funcin de X
p
(jk) presentada en el punto anterior ya no es
exacta, y en el mejor de los casos la DFT de x
p
(nT) es una representacin
distorsionada de x(nT).
6.5 Interrelacin entre la transformada discreta de Fourier (DFT), y la transformada
contnua de Fourier (CFT).
Si : x(t) es contnua en el tiempo, podemos obtener X(j) : CFT de x(t)
x
^
(t) es la versin muestreada de x(t), podemos obtener X
^
(j) : CFT de x
^
(t)
X
p
(jk) = X
D
(e
jkT
) = x
^
(jk)

D x(nT + rNT) = 1 X(jk + jr
s
) (*)
r = T r =
Si x(t) = 0 para t < 0 y para t NT
las sumatorias anteriores (*) se hacen peridicas
y X(j) = 0 para ||
s
/ 2
x
p
(nT) = x(nT) para 0 nT (N1)T
Xp(jk) = 1 X(jk) para |k| <
s
_
T 2
Por lo tanto: x
p
(nT) x(t)
X
p
(jk) X(j)
Si, por el contrario, x(t) 0 para t < 0 o para t NT
x
p
(nT) ya no es una representacin peridica de x(nT), por lo tanto la DFT de xp(nT) no
es una representacin precisa de x(t).
Sin embargo, si la banda de frecuencias est limitada, se puede aplicar una ventana
temporal w(t), y obtenemos x'(t) una versin truncada de x(t):
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 40 -
x'(t) = w(t) . x(t) w(t) = 0 para t < 0 y para t NT
Se puede demostrar que X'(j) X(j) para || <
s
/ 2,
y como x'(t) x(t) para t < 0 y para t NT
entonces, la DFT de x'(nT) es una representacin aproximada de x(t), en el dominio de la
frecuencia.
Las pautas para seleccionar el tipo de ventana w(t) y el valor de N pueden verse en el
cap. 9.4 del libro "Digital Filters" de Antoniou, 2 edicin.
El valor de T (= 2/
s
) debe elegirse de modo tal que la expresin X(j)=0 ||
s
/2,
se satisfaga lo mejor posible.
La tcnica recin descripta tambin puede ser usada para obtener la representacin
aproximada mediante DFT de seales discretas en el tiempo tales que:
x(nT) 0 para n < 0 o para n N
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 41 -
7. Algoritmos para el clculo de la transformada rpida de Fourier (FFT)
Uno de los algoritmos existentes para el clculo de la transformada rpida de Fourier est
basado en la tcnica de decimacin en el tiempo.
Partiendo de la transformada discreta de Fourier que se desea obtener:

N1
X(k) = x(n) W
N
kn
donde: W
N
= e
j2 / N
n=0
Si se considera un valor de N que sea una potencia entera de 2 (N=2
r
-r entero-),
entonces la sumatoria puede dividirse en dos partes, segn que n sea par o impar:

N1

N1
X(k) = x(n) W
N
kn
+ x(n) W
N
kn
n=0 n=0
(n par) (n impar)
Lo anterior se puede expresar de esta otra forma:

N / 2 1

N / 2 1
X(k) = x
10
(n) W
N
2kn
+ x
11
(n) W
N
2kn
donde: x
10
(n) = x(2n)
n=0 n=0 x
11
(n) = x(2n+1)
para 0 n N / 2 1
y como: W
N
2kn
= W
N / 2
kn

N / 2 1

N / 2 1
X(k) = x
10
(n) W
N/2
kn
+ W
N
k
x
11
(n) W
N/2
kn
=

X
10
(k) + W
N
k
X
11
(k)
n=0 n=0
X(k) = X
10
(k) + W
N
k
X
11
(k)
Como X
10
(k) y X
11
(k) son peridicas con perodo N/2:
X(k+N/2) = X
10
(k+N/2) + W
N
(k+N/2)
X
11
(k+N/2)
X(k+N/2) = X
10
(k) W
N
k
X
11
(k)
Las ecuaciones y pueden representarse mediante el siguiente grfico,
denominado "mariposa"
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 42 -
X
10
(k) X(k)
1 1
W
k
1
X
11
(k) X(k+N/2)
O tambin se puede utilizar el siguiente diagrama simplificado:
X
10
(k) X(k)
k
X
11
(k) X(k+N/2)

N/21
A su vez: X
10
(k) = x(n) W
N/2
kn
tambin puede dividirse en dos sumatorias:
n=0

N/41

N/41
X
10
(k) = x
20
(n) W
N/4
kn
+ W
N
2k
x
21
(n) W
N/4
kn
n=0 n=0
donde: x
20
(n) = x
10
(2n) y x
21
(n)=x
10
(2n+1) 0 n N/41
Que puede expresarse como:
X
10
(k) = X
20
(k) + W
N
2k
X
21
(k)
Por su parte, puede hacerse un anlisis similar a partir de X
11
(k), llegando a la
siguiente expresin:
X
11
(k) = X
22
(k) + W
N
2k
X
23
(k)
donde: x
22
(n) = x
11
(2n) y x
23
(n)=x
11
(2n+1) 0 n N/41
Como X
20
(k) y X
21
(k) son peridicas con perodo N/4, se puede repetir el
razonamiento aplicado anteriormente, por lo tanto:
X
10
(k+N/4) = X
20
(k) W
N
2k
X
21
(k)
X
11
(k+N/4) = X
22
(k) W
N
2k
X
21
(k)
De igual modo a lo realizado hasta aqu, se puede continuar dividiendo las
sumatorias, y en el ciclo m-simo tendremos:
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 43 -

m1
X
(m1)0
(k) = X
m0
(k) + W
N
2 k
X
m1
(k)

m1
X
(m1)0
(k+N/2
m
) = X
m0
(k) W
N
2 k
X
m1
(k)

m1
X
(m1)1
(k) = X
m2
(k) + W
N
2 k
X
m3
(k)

m1
X
(m1)1
(k+N/2
m
) = X
m2
(k) W
N
2 k
X
m3
(k)
.....................
donde: x
m0
(n) = x
(m1)0
(2n)
x
m1
(n) = x
(m1)0
(2n+1)
x
m2
(n) = x
(m1)1
(2n)
x
m3
(n) = x
(m1)1
(2n+1)
........................
Y todo esto es vlido para 0 m N / 2
m1
. Sin embargo, para el ltimo ciclo, o sea: el
ciclo r-simo (N=2
r
), x
r0
(n), x
r1
(n), etc. quedan reducidas a secuencias de un solo
elemento, en cuyo caso tendremos:
X
ri
(0) = x
ri
(0) para i = 0, 1,....., N1
Los valores de la penltima DFT pueden obtenerse de las siguientes ecuaciones:
X
(r1)0
(0) = x
r0
(k) + W
N
0
x
r1
(0)
X
(r1)0
(1) = x
r0
(k) W
N
0
x
r1
(0)
X
(r1)1
(0) = x
r2
(k) + W
N
0
X
r3
(0)
X
(r1)1
(1) = x
r2
(k) W
N
2
x
r3
(0)
................
Lo ltimo que resta es identificar los elementos x
r0
(0), x
r1
(0), .... Esto es sencillo dado
que:
x
rp
(0) = x(q) donde: q es la representacin binaria con r bits, de p revertido.
Por ejemplo: si r=3 (N=8) , x
31
(0) ser x(4), ya que 1 = 001
2
; efectuando la reversin
de bits queda 100
2
= 4.
En definitiva, {x
r0
(0), x
r1
(0), ....} es una versin reordenada de la secuencia de muestras
de entrada {x(0), x(1), ....}.
Ejemplo: Construir el algoritmo de FFT por decimacin en tiempo para N=8.
Como: x
10
(n) = x(2n) y x
11
(n) = x(2n+1) para 0 n N/21
x
10
= { x(0), x(2), x(4), x(6) }
x
11
= { x(1), x(3), x(5), x(7) }
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 44 -
Consecuentemente obtenemos los siguientes valores:
x
20
= { x(0), x(4) }
x
21
= { x(2), x(6) }
x
22
= { x(1), x(5) }
x
23
= { x(3), x(7) }
Finalmente:
x
30
= { x(0) }
x
31
= { x(4) }
x
32
= { x(2) }
x
33
= { x(6) }
x
34
= { x(1) }
x
35
= { x(5) }
x
36
= { x(3) }
x
37
= { x(7) }
El algoritmo queda expresado mediante el siguiente diagrama de "mariposas":
X
3i
(k) X
2i
(k) X
1i
(k) X(k)
Como puede verse, la cantidad de operaciones ("mariposas") que hay que realizar
es igual a N/2 log
2
N , en lugar de las N
2
correspondientes a la DFT. Por ejemplo:
si N=512, la DFT requiere 512
2
= 262144 clculos, mientras que la FFT requiere
de slo 2304 clculos ( 1%).
Por otra parte, tambien puede verse del grfico anterior que se la cantidad de
memoria necesaria para poder calcular la FFT es igual a 2 N, ya que luego de
utilizar un conjunto de valores X
mi
(k) como entradas para calcular los valores de
X
(m1)i
(k) , ya no se necesitan ms los valores de X
mi
(k), por lo que los lugares de
memoria que ocupan podrn ser destinados a los valores de X
(m2)i
(k).
x(0)
x(4)
x(2)
x(6)
x(1)
x(5)
x(3)
x(7)
0
0
1 1
2
3
0
0
1
0
1
0
3
3
3
3
1
2
3
4
5
6
7 3
2
1
0
1
0
2
0
2
0
0
0
0
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 45 -
8. Diseo de filtros no recursivos (FIR)
Los filtros recursivos (IIR) que se han considerado anteriormente permiten obtener filtros de alta
selectividad y sencillez computacional. Sin embargo, es muy dificil disear un filtro digital
recursivo que tenga alta selectividad y al mismo tiempo un retardo de grupo constante. Mediante
la aproximacin de Bessel y la transformacin invariante al impulso se puede obtener un filtro
recursivo con retardo de grupo constante, pero esto solamente permite obtener filtros pasabajos o
pasabanda de baja selectividad.
Por el contrario, los filtros no recursivos se pueden disear fcilmente para que tengan un retardo
de grupo constante, al mismo tiempo que se puede lograr una gran variedad de respuestas en
frecuencia.
Hay diferentes mtodos para resolver la aproximacin de filtros no recursivos. El mtodo que se
va a considerar est basado en series de Fourier. Otro mtodo est basado en el uso de la DFT (o
FFT), y otra posibilidad es utilizar el algoritmo de intercambio de Remez. Este ltimo mtodo
permite lograr soluciones ptimas, es decir, un filtro con el mnimo orden posible. La desventaja
del algoritmo de intercambio de Remez es la complejidad y volumen de clculos necesarios para
efectuar el diseo.
8.1 Propiedades de los filtros no recursivos
Filtros de retardo constante.
Un filtro causal no recursivo puede ser caracterizado mediante la siguiente funcin
transferencia:

N1
H(z) = h(nT) z
n
e
j 2 / N
n=0
y su respuesta en frecuencia estar dada por:

N1
H(e
jt
) = M() e
j()
= h(nT) e
jnT

n=0
donde:
M() = |H(e
jt
)| y () = arg H(e
jt
)
Los retardos de fase y de grupo estn dados respectivamente por:

p
= () y
g
= d()
d
Si se requiere que tanto
p
como
g
sean constantes, la respuesta en fase deber ser lineal, es
decir:
() =
De las ecuaciones precendentes y se puede expresar la respuesta en fase como:
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 46 -
N1
h(nT) sen nT
() = = arc tg
n=0
_____________
N1
h(nT) cos nT

n=0
Por lo tanto:
N1
h(nT) sen nT
tan = sen =
n=0
_____________

cos
N1
h(nT) cos nT

n=0
Luego, se puede llegar a:
N1
h(nT) ( cos nT sen sen nT cos ) = 0

n=0
Y finalmente, la expresin anterior es equivalente a la siguiente:
N1
h(nT) sen( nT ) = 0

n=0
Puede demostrarse que la solucin a esta expresin es:
= (N 1) T y h(nT) = h[(N1n)T ] para 0 n N1 I
2
Por lo tanto, un filtro no recursivo puede tener fase y retardo de grupo constantes a lo largo
de toda la banda base. Solamente es necesario que la respuesta impulsiva sea simtrica
alrededor del punto medio entre las muestras (N2)/2 y N/2, para N par, o bien con resepcto a
la muestra (N1)/2 para N impar. La figura siguiente muestra la simetra requerida para
N=10 y N=11.
1.0 N=10 1.0 N=11
h(nT) h(nT)
nT nT
n=10 n=10
1.0 1.0
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 47 -
En algunas aplicaciones solamente es necesario que el retardo de grupo sea constante, en
cuyo caso la respuesta de fase puede ser de la forma:
() =
0
(donde
0
: constante)
Usando el mismo procedimiento anterior, se puede obtener una segunda clase de filtros no
recursivos. Si
0
= /2, la solucin es:
= (N 1) T y h(nT) = h[(N1n)T ] para 0 n N1
2
Respuesta en Frecuencia
Las precedentes ecuaciones I y permiten arribar a algunas expresiones sencillas para la
respuesta en frecuencia. Para el caso de respuesta impulsiva simtrica y N impar, la ecuacin
puede ser expresada as:
(N3)/2 N1
H(e
jT
) = h(nT) e
jnT
+ h[ (N1)T ] e
j(N1)T/2
+ h(nT) e
jnT
I

n=0
2
n=(N+1)/2
Usando la ecuacin I y haciendo N 1 n = m, m=n, la ltima sumatoria en la ecuacin
anterior puede ser expresada as:
N1 N1

(N3)/2
h(nT) e
jnT
= h[(N1n)T] e
jnT
= h(nT) e
j(N1 n)T
I

n=(N+1)/2

n=(N+1)/2

n=0
Por lo tanto, de I y I podemos llegar a la siguiente expresin de la respuesta en frecuencia:
(N3)/2
H(e
jT
) = e
j(N1)T/2
h { [ (N1)T ] + 2h(nT) cos[ (N1 n) T ] }
2
n=0
2
Por ltimo, si hacemos (N1)/2 n = k, llegamos a:
(N1)/2
H(e
jT
) = e
j(N1)T/2
a
k
cos( k T ) donde: a
0
= h[(N1)T] ^

k=0
2
a
k
= 2 h[(N1 k) T ] T
2
De igual manera se pueden considerar el caso de respuesta impulsiva simtrica con N par y
para los dos casos de respuesta antisimtrica. La siguiente tabla resume las expresiones de la
respuesta en frecuencia para los cuatro casos posibles.
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 48 -
h(nT) N H(e
jT
)

(N1)/2
Simtrica Impar e
j(N1)T/2
a
k
cos( k T )

k=0

N/2
Par e
j(N1)T/2
b
k
cos[(k) T ]

k=1

(N1)/2
Antisimtrica Impar e
j[(N1)T/2 /2]
a
k
sen( k T )

k=0

N/2
Par e
j[(N1)T/2 /2]
b
k
sen[(k) T ]

k=1
donde: a
0
= h[(N1)T] a
k
= 2h[(N1 k) T] b
k
= 2h[( N k) T]
2 2 2
Ubicacin de los Ceros
Las condiciones impuestas a la respuesta impulsiva por las ecuaciones I y , imponen
ciertas restricciones a los ceros de H(z). Para N impar tenemos:

(N3)/2
H(z) = 1 h(nT) ( z
(N1)/2n
z
[ (N1)/2n]
) + h[ (N1)T ] ( z
0
z
0
)
z
(N1)/2

n=0
2
Donde: el signo negativo se aplica al caso de
respuesta impulsiva antisimtrica.
Considerando (N1)/2 n = k , podemos escribir la expresin anterior de la siguiente forma:

(N1)/2
H(z) = N(z) = 1 a
k
( z
k
z
k
) Donde: a
0
y a
k
estn dados por
D(z) z
(N1)/2

n=0
las ecuaciones ^ y T.
Los ceros de H(z) son las raices de N(z), dado por:

(N1)/2
N(z) = a
k
( z
k
z
k
)

k=0
Si z es reemplazada por z
1
, tenemos:
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 49 -

(N1)/2

(N1)/2
N(z
1
) = a
k
( z
k
z
k
) = a
k
( z
k
z
k
) = N(z)

k=0

k=0
La misma relacin se puede obtener para N par, y por lo tanto, si z
i
=r
i
e
ji
es un cero de
H(z), entonces z
i
1
= e
ji
tambin ser un cero de H(z).
r
i
Esto tiene las siguientes consecuencias sobre la ubicacin de los ceros:
Puede haber un nmero arbitrario de ceros ubicados en z
i
= 1, ya que z
i
1
= 1.
Puede haber un nmero arbitrario de pares complejos conjugados de ceros ubicados en
el crculo unidad, debido a que:
(zz
i
)(zz
i
*) = (z e
ji
)(z e
ji
) = (z 1

)(z 1 )
z
i
* z
i
Los ceros reales fuera del crculo unidad deben ocurrir en pares recprocos.
Los ceros complejos fuera del crculo unidad deben ocurrir en grupos de cuatro, es
decir: z
i
, z
i
*, y sus recprocos: 1/z
i
* y 1/z
i
.
La siguiente figura muestra un hipottico diagrama de polos y ceros para un filtro no
recursivo con retardo constante de fase.
8.2 Diseo de filtros no recursivos usando Series de Fourier.
Como la respuesta en frecuencia de un filtro no recursivo es una funcin peridica de
con perodo
s
, puede ser expresada como una serie de Fourier. Podemos escribir:


s/2
H(e
jT
) = h(nT) e
jnT
Donde: h(nT) = 1 H(e
jT
) e
jnT
d

n=

s
s/2
z
2
z
3
z
3
*
1/z
5
*
1/z
5
z
5
*
z
5
z
4 z
1
1/z
4
Plano z
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 50 -
Si consideramos z = e
jT
obtenemos:

H(z) = h(nT) z
n

n=
De la expresin analtica de la respuesta en frecuencia es fcil llegar a una expresin de la
funcin transferencia. Sin embargo, esta funcin transferencia es no causal y de orden
infinito. Para obtener un filtro de orden finito, la serie planteada puede ser truncada
haciendo:
h(nT) = 0 Para |n| > N 1
2
En cuyo caso llegamos a la siguiente expresin:
(N1)/2
H(z) = h(0) + [h(nT) z
n
+ h(nT) z
n
]

n=1
La causalidad puede lograrse multiplicando H(z) por z
(N1)/2
, de modo tal que:
H'(z) = z
(N1)/2
H(z)
Esta modificacin es posible debido a que la respuesta en amplitud no se ve afectada, y el
retardo de grupo es incrementado en un valor constante (N1)T / 2.
Cabe destacar que si H(e
jT
) es una funcin par de , entonces la respuesta al impulso es
simtrica alrededor de n=0, y el filtro tiene retardo de grupo 0. En consecuencia, el filtro
no causal representado por la ecuacin anterior tiene retardo de grupo (N1)T / 2.
Ejemplo
Disear un filtro pasabajos no recursivo con la siguiente respuesta en frecuencia:
1 para ||
c
H(e
jT
) Donde
s
: frecuencia
0 para
c
<

||
s
/ 2 de muestreo
Solucin:

c
h(nT) = 1 e
jnT
d = 1 sen(
c
nT)

s
c
n
Luego:
(N1)/2
H(z) = z
(N1)/2
a
n
[z
n
+ z
n
] Donde: a
0
= h(0)

n=0 2
a
n
= 2 h(nT)
Si consideramos los siguientes valores: N=7,
c
=2 rad/s y
s
=10 rad/s, la
funcin transferencia del filtro sera:
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 51 -
3
H(z) = z
3
[ h(0) + h(nT) (z
n
+ z
n
) ]

n=1
3
H(z) = z
3
[ 0.4 + 1 sen(2n) (z
n
+ z
n
) ]

n=1
n 5
Y finalmente obtenemos la siguiente funcin transferencia:
H(z) = 0.0624 + 0.0935 z
1
+ 0.3027 z
2
+ 0.4 z
3
+ 0.3027 z
4
+ 0.0935 z
5
0.0624 z
6
Oscilaciones de Gibbs
En las figuras siguientes se muestra la respuesta en amplitud para un filtro con los
requerimientos planteados en el ejemplo anterior (
c
=2 rad/s y
s
=10 rad/s), y
considerando N=11, N=21 y N=31. Se pueden observar oscilaciones en la banda
de paso y en la banda de rechazo, debidas a la lenta convergencia de las series de
Fourier, las cuales son causadas por la discontinuidad existente entre la banda de
paso y la banda de rechazo. A medida que N aumenta, aumenta tambin la
frecuencia de las oscilaciones. Asimismo, puede verse que al aumentar N
disminuye la amplitud de las oscilaciones, excepto la ltima de la banda de paso y
la primera de la banda de rechazo, que tienden a mantenerse virtualmente sin
cambio.
Una forma rudimentaria de evitar las discontinuidades en la respuesta en
frecuencia puede ser introducir una banda de transicin. Por ejemplo, el
pasabajos considerado en el ejemplo anterior podra ser redefinido as:
N=11 N=21 N=31
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 52 -
1 para ||
p
H(e
jT
) (
a
) / (
a

p
) para
p
< || <
a
0 para
a
<

||
s
/2
8.3 Uso de funciones de ventana.
Una tcnica alternativa y de fcil aplicacin para reducir las oscilaciones de Gibbs
consiste en preacondicionar h(nT) usando una clase de funciones en el dominio del
tiempo conocidas como funciones de ventana.
Sean:

H(z) = Z h(nT) = h(nT) z


n

n=

W(z) = Z w(nT) = w(nT) z


n

n=

H
w
(z) = Z[w(nT) h(nT)] = h(nT) z
n

n=
Donde w(nT) representa una funcin de ventana. El uso de la convolucin compleja nos
lleva a:
H
w
(z) = 1 H(v) W(z/v) v
1
dv Donde : contorno en la la regin
2j comn de convergencia de
H(v) y W(z/v).
Con v = e
jT
y z = e
jT
, y tanto H(v) como W(z/v) convergentes en el crculo unidad del
plano v, la ecuacin anterior puede escribirse as:
2/T
H
w
(e
jT
) = T H(e
jT
) W(e
j()T
) d
2
0
Si a los fines de esta explicacin consideramos: 1 H(e
jT
)
1 para 0 ||
c
H(e
jT
) =
0 para
c
< ||
s
/2
/T
c

c
/T
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 53 -
Si asimismo se considera que W(e
jT
) es real y tiene la forma dada en la siguiente figura,
y se asume que W(e
jT
) = 0, para
m
< ||
s
/2.
W(e
jT
)
/T
m

m
/T
Esto representa un diagrama espectral ideal para una funcin de ventana ms adelante se
ver el espectro real.
Se puede demostrar que con W(e
jT
) tal como la anterior, la grfica de H
w
(e
jT
) adoptara
una forma parecida a la siguiente:
H
w
(e
jT
)
/T
m

m
/T
Si H(z) representa un filtro de retardo constante y se desea que H
w
(z) tambin represente
un filtro de retardo constante de orden finito, entonces w(nT) deber satisfacer las
siguientes propiedades en el dominio del tiempo:
w(nT) = 0 para |n| > (N1)/2
Para N impar, w(nT) debe ser simtrica alrededor de n=0.
La siguiente figura muestra una tpica funcin de ventana:
1.0 w(nT)
N=11
nT
En la prctica, el espectro de una funcin de ventana w(nT) se aparta del espectro ideal
visto ms arriba, y adopta una forma como la que se ve en la prxima figura. la amplitud
del lbulo principal est dada por k
s
/N, donde k es una constante.
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 54 -
El efecto que tienen los lbulos laterales del espectro de w(nT) es aumentar las
oscilaciones de Gibbs en la respuesta en amplitud del filtro. Para que el ripple en la
banda de paso sea pequeo, y la atenuacin en la banda de rechazo sea grande, el rea
encerrada por los lbulos laterales debe ser una pequea fraccin del rea encerrada por
el lbulo principal.
Por otra parte, la amplitud del lbulo principal determina la amplitud de la banda de
transicin del filtro resultante. Para lograr una alta selectividad, el valor de N (y por lo
tanto el orden del filtro) deber ser grande, mientras que el valor de k deber ser pequeo.
Las funciones de ventana ms frecuentemente usadas son:
Rectangular
von Hann (o Hanning)
Hamming
Blackman
Dolph-Chebyshev
Kaiser
8.3.1 Ventana Rectangular.
La ventana rectangular est dada por:
1 para |n| (N 1) / 2
w
R
(NT) =
0 para otros valores de |n|
El espectro de w
R
(NT) puede calcularse de la siguiente forma:
(N1)/2
W
R
(e
jT
) = e
jnT
= sen (NT / 2)

n=(N1)/2
sen (T / 2)
W(e
jT
)
k
s
/ 2N k
s
/ 2N

Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales


Mag. Guillermo Friedrich - 55 -
El ancho del lbulo principal es igual a 2
s
/N.
Puede calcularse una relacin de ripple, r, que nos da una idea de la amplitud que
tendrn las oscilaciones debidas al efecto Gibbs:
r = mxima amplitud de un lbulo lateral . 100 %
amplitud del lbulo principal
Para N=11, r = 22.34, mientras que si N=101, r se reduce a 21.70.
8.3.2 Ventanas de von Hann y de Hamming.
Las ventanas de von Hann y de Hamming estn dadas por:
+ (1) cos(2n / (N1)) para |n| (N1) / 2
w
H
(nT) =
0 para los dems casos
= 0.5 (von Hann)
= 0.54 (Hamming)
Puede observarse que los lbulos laterales de estas ventanas son ms reducidos
que los de la ventana rectangular, y por lo tanto el ripple es menor. Considerando

s
=10 rad/s, el factor de ripple para estas ventanas es:
N=11 N=101
von Hann 2.62 2.67
Hamming 1.47 0.74
El ancho del lbulo principal puede demostrarse que es aproximadamente igual a
4
s
/N.
8.3.3 Ventana de Blackman.
La ventana de Blackman es similar a la anterior, y est dada por la siguiente
expresin:
0.42 + 0.5 cos(2n/(N1)) + 0.08 cos(4n/(N1))) para |n| (N1)/2
w
B
(nT) =
0 en los dems casos.
El trmino coseno adicional produce una reduccin adicional en la amplitud de las
oscilaciones por efecto Gibbs. El factor de ripple, considerando
s
=10 rad/s es de
0.08 para N=11, y de 0.12 para N=101.
Por su parte, el ancho del lbulo principal se ve incrementado a 6
s
/ N.
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 56 -
8.3.4 Ventana de Dolph-Chebyshev.
Como pudo observarse, las ventanas anteriores dan lugar a un ripple que es
prcticamente independiente del valor de N, y por lo tanto la aplicacin de tales
ventanas es limitada.
Una ventana ms verstil es la de Dolph-Chebyshev, y est dada por la siguiente
frmula:

(N1)/2
w
DC
(nT) = 1 1 + 2 T
N1
x
0
cos(i/N) cos(2n i/N)
N r
i=1
para: n = 0, 1, 2, ..., (N1)/2
donde: r : relacin de ripple deseada (expresada como fraccin)
x
0
= cosh( 1/(N1) cosh
1
(1/r) )
T
k
(x) : k-simo polinomio de Chebyshev asociado con la
aproximacin para filtros recursivos, y dado por:
cos(k cos
1
x) para |x| 1
T
k
(x) =
cosh(k cosh
1
x) para |x| > 1
Como puede verse, se puede elegir el factor de ripple que se desea obtener y, al
igual que para otras ventanas, el valor de N determina el ancho del lbulo
principal.
Dos propiedades interesantes de la ventana de Dolph-Chebyshev son las
siguientes:
Para un dado valor de N, el ancho del lbulo principal es el menor que podra
obtenerse para una relacin de ripple dada. Esto implica que usando esta
ventana se obtienen filtros con una banda de transicin muy estrecha.
Todos los lbulos laterales tienen la misma amplitud. Esto implica que el error
de aproximacin tiende a distribuirse uniformemente con respecto a la
frecuencia.
8.3.5 Ventana de Kaiser.
La ventana de Kaiser, al igual que la anterior, tambin permite controlar
independientemente la relacin de ripple y el ancho del lbulo principal. La
ventana de Kaiser est dada por:
I
0
() para |n| (N1)/2
w
K
(nT) = I
0
()
0 en los dems casos
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 57 -
Donde: es un parmetro independiente
= 1 (2n / (N1) )
2

I
0
(x) = 1 + 1 x
k 2
es la funcin de

k=1
k! 2 Bessel
modificada de
orden cero del
primer tipo.
El espectro de w
K
(nT) est dado por:

(N1)/2
W
K
(e
jT
) = w
K
(0) + 2 w
K
(nT) cos(nT)

n=1
La ventana de Kaiser para tiempo contnuo es:
I
0
() para |t|
w
K
(t) = I
0
()
0 en los dems casos
Donde:
= 1 ( t / )
2
= (N 1) T
2
El espectro de w
K
(t) puede demostrarse que est dado por:
W
K
(j) = 2 sen (
2

a
2
) 0 Donde:
a
= /
I
0
()
2

a
2

Si W
K
(j) 0 para ||
s
/ 2, el espectro de la seal muestreada w
K
(t), o equiva-
lentemente el espectro de w
K
(nT) puede expresarse as:

W
K
(j) = W
K
(e
jT
) (1/T) W
K
(j) para 0 ||
s
/ 2 O
De las anteriores expresiones 0 y O puede obtenerse la siguiente expresin aproximada
para W
K
(e
jT
):
W
K
(e
j
) = N 1 sen( (/
a
)
2
1

)
I
0
() (/
a
)
2
1
Para un dado valor de N, el valor de tiene influencia sobre la relacin de ripple y el
ancho del lbulo principal. La relacin de ripple disminuye con el aumento de ,
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 58 -
mientras que el ancho del lbulo principal aumenta al aumentar .
Una caracterstica muy importante de la ventana de Kaiser es que a partir de las
expresiones recin consideradas existen algunas frmulas empricas para determinar los
valores de y N que permiten cumplir con las especificaciones para un filtro dado. Esto
se ver a continuacin.
8.3.5.1 Un mtodo de diseo de filtros FIR basado en la ventana de Kaiser.
Consideremos el diseo de un pasabajos, cuya respuesta en frecuencia est representada
en el siguiente grfico:
Ganancia
1 +
1
1



p

a

s
El ripple en la banda de paso, en dB, est dado por: A
p
= 20 log ((1+) / (1))
La mnima atenuacin en la banda de rechazo es: A
a
= 20 log
El ancho de la banda de transicin es: B
t
=
a

p
Para obtener los coeficientes de un filtro cuyo ripple en la banda de paso sea igual o
menor a A'
p
, su atenuacin en la banda de rechazo sea mayor o igual a A'
a
, y cuya banda
de transicin sea B
t
, se pueden seguir los pasos siguientes:
(1) Determinar h(nT) usando la aproximacin por series de Fourier vista en 8.2,
asumiendo una respuesta en frecuencia ideal, es decir:
1 para ||
c
H(e
jT
) =
0 para
c
< ||
s
Donde :
c
= (
p
+
a
)
(2) Seleccionar un valor de tal que A
p
A'
p
y A
a
A'
a
.
Un valor adecuado es = mn(
1
,
2
) donde:
1
= 10
0,05 A'a

2
= 10
0,05 A'p
1
10
0,05 A'p
+ 1
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 59 -
(3) Calcular A
a
= 20 log
(4) Seleccionar el parmetro segn el siguiente criterio:
0 para A
a
21
= 0.5842(A
a
21)
0,4
+ 0.07886(A
a
21) para 21 < A
a
50
0.1102(A
a
8.7) para A
a
> 50
(5) Elegir el parmetro D segn el siguiente criterio:
0.9222 para A
a
21
D =
(A
a
7.95) / 14.36 para A
a
> 21
(6) Adoptar el mnimo valor impar de N que satisfaga la siguiente desigualdad:
N
s
D + 1
B
t
(7) Formar w
K
(nT) segn lo descripto en 8.3.5
(8) Formar H'
w
(z) = z
(N1)/2
H
w
(z) Donde: H
w
(z) = Z [ w
k
(nT) h(nT) ]
Ejemplo:
Disear un pasabajos FIR con las siguientes especificaciones:
Mximo ripple en la banda de paso, entre 0 y 1.5 rad/s : 0.1 dB
Mnima atenuacin en la banda de rechazo, entre 2.5 y 5 rad/s : 40 dB
Frecuencia de muestreo: 10 rad/s
(1) Del ejemplo dado en 8.2 obtenemos: h(nT) = 1 sen(
c
nT)
n
Donde:
c
= (1.5 + 2.5) = 2.0 rad/s
(2)
1
= 10
0,05(40)
= 0.01

2
= 10
0,05(0,1)
1 = 5.7564 x 10
3
Por lo tanto: = 5.7564 x 10
3
10
0,05(0,1)
+ 1
(3) A
a
= 20 log = 20 log(5.7564 x 10
3
) = 44.797 dB
(4) = 0.5842(A
a
21)
0,4
+ 0.07886(A
a
21) = 3.9524
(5) D = (A
a
7.95) / 14.36 = 2.566
(6) N
s
D + 1 = ( 10 2.566 ) + 1 = 26.66 = 27 N=27
B
t
(2.5 1.5)
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 60 -
(7) Debido a la simetra de los coeficientes del filtro, slo es necesario
calcular los mismos para n entre 0 y 13.
El siguiente programa escrito en lenguaje C implementa el procedimiento de clculo
recin descripto, y da como resultado el orden del filtro y el listado de coeficientes del
filtro: h[n]*w[n]. Con algunas mnimas modificaciones este programa podra servir para
calcular filtros con distintas especificaciones.
Los resultados obtenidos de la ejecucin de este programa son los que se ven a
//-------------------------------------------------------------------------------
// Programa para calcular los coeficientes de un filtro
// pasabajos FIR, en base a la ventana de Kaiser.
// Basado en Antoniu, "Digital Filters", 2 edic. Inciso 9.4.6
// Ing. G. Friedrich - Marzo 2002
//-------------------------------------------------------------------------------
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
float Io( float x );
long fact( long n );
// Datos --> deben cambiarse para especificar otro filtro.
#define Ws 10.0 // frecuencia de muestreo, en rad/s
#define Wp 1.5 // frecuencia lmite de la banda de paso, en rad/s
#define Wa 2.5 // frecuencia lmite de la banda de rechazo, en rad/s
#define Ap 0.1 // mx ripple en la banda de paso, en dB
#define Aa 40.0 // mn atenuacion en la banda de rechazo, en dB
void main()
{
int k, n, N;
float a, b, d, d1, d2, D, A_a, wc=(Wp+Wa)/2;
float h[64], w[64];
clrscr();
d1 = pow(10, -0.05*Aa);
d2 = (pow(10, 0.05*Ap) - 1) / (pow(10, 0.05*Ap) + 1);
d = min(d1,d2);
// calcula la atenuacin real en la banda de rechazo
A_a = -20 * log10(d);
if( A_a <= 21.0 )
a = 0.0;
else if( A_a > 21.0 && A_a <= 50 )
a=0.5842*pow(A_a-21.0, 0.4)+0.07886*(A_a-21.0);
else
// A_a > 50
a = 0.1102*(A_a-8.7);
if ( A_a <= 21.0 )
D = 0.9222;
else
D = (A_a - 7.95) / 14.36;
// calcula el orden del filtro
N = (int) ceil(10 * D / (Wa-Wp) + 1);
if( N%2 == 0 )
N++;
printf( "Orden del filtro: N = %d\n", N );
for(n=0; n<=(N-1)/2; n++)
{
b = a * sqrt(1-pow(2*(float)n/(float)(N-1),2));
// calcula el trmino n-simo de la serie de
// Fourier: h[n]
if( n==0 )
h[n] = 2*wc/Ws;
else
h[n] = sin(2*n*M_PI*wc/Ws) / (n*M_PI);
// calcula el trmino n-simo de la ventana: w[n]
w[n] = Io(b)/Io(a);
// Imprime los resultados
printf (
"wk(%2dT) = %f\th(%2dT) = %f\th(%2dT)wk(%2dT) = %f\n",
n, w[n], n, h[n], n, n, h[n]*w[n] );
}
getch();
}
//------------------------------------------------------------------
// Calcula Io(x), la funcin modificada de Bessel
// de orden cero, del primer tipo
//------------------------------------------------------------------
float Io( float x )
{
int k;
float I;
// Como la serie converge r pido, suma slo 10 trminos
for(I=1.0,k=1; k<=10; k++)
{
I += pow( pow(x/2.0,k)/fact(k), 2 );
}
return I;
}
//-----------------------------------
// Calcula el factorial de n
//-----------------------------------
long fact( long n )
{
long x = 1;
while( n )
x *= n--;
return x;
}
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 61 -
continuacin:
Orden del filtro: N = 27
wk( 0T) = 1.000000 h( 0T) = 0.400000 h( 0T)wk( 0T) = 0.400000
wk( 1T) = 0.989963 h( 1T) = 0.302731 h( 1T)wk( 1T) = 0.299692
wk( 2T) = 0.960309 h( 2T) = 0.093549 h( 2T)wk( 2T) = 0.089836
wk( 3T) = 0.912385 h( 3T) = -0.062366 h( 3T)wk( 3T) = -0.056902
wk( 4T) = 0.848347 h( 4T) = -0.075683 h( 4T)wk( 4T) = -0.064205
wk( 5T) = 0.771029 h( 5T) = -0.000000 h( 5T)wk( 5T) = -0.000000
wk( 6T) = 0.683782 h( 6T) = 0.050455 h( 6T)wk( 6T) = 0.034500
wk( 7T) = 0.590272 h( 7T) = 0.026728 h( 7T)wk( 7T) = 0.015777
wk( 8T) = 0.494279 h( 8T) = -0.023387 h( 8T)wk( 8T) = -0.011560
wk( 9T) = 0.399484 h( 9T) = -0.033637 h( 9T)wk( 9T) = -0.013437
wk(10T) = 0.309270 h(10T) = -0.000000 h(10T)wk(10T) = -0.000000
wk(11T) = 0.226556 h(11T) = 0.027521 h(11T)wk(11T) = 0.006235
wk(12T) = 0.153657 h(12T) = 0.015591 h(12T)wk(12T) = 0.002396
wk(13T) = 0.092193 h(13T) = -0.014392 h(13T)wk(13T) = -0.001327
Tcnicas Digitales III - UTN - FRBB Procesamiento Digital de Seales
Mag. Guillermo Friedrich - 62 -

You might also like