Subido por Mike Sanso

INTRODUCCION AL PROCESAMIENTO DIGITAL DE SEÑALES

Anuncio
Universidad Tecnológica Nacional
Facultad Regional Bahía Blanca
INTRODUCCION AL PROCESAMIENTO
DIGITAL DE SEÑALES
Cátedra: Técnicas Digitales III
Profesor: Mag. Guillermo R. Friedrich
Octubre 2002
Indice
Introducción ......................................................................................................... 1
1. Filtros Digitales ............................................................................................... 1
1.1 Características de los filtros digitales .................................................. 1
1.2 Caracterización 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. Introducción al análisis en el dominio del tiempo ........................................ 5
2.1 Sumatoria de Convolución .................................................................. 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 Aplicación de la transformada Z ..........................................................17
3.5.1 Obtención de H(z) ................................................................. 17
3.5.2 Criterio de Estabilidad de Jury ..............................................19
3.5.3 Análisis en el dominio del tiempo ........................................ 20
3.5.4 Análisis en el dominio de la frecuencia ................................ 21
4. Aproximaciones de filtros analógicos ............................................................ 23
4.1 Conceptos básicos ............................................................................... 23
4.2 Aproximación de Butterworth ............................................................ 23
4.2.1 Función Transferencia Normalizada .................................... 24
4.3 Otras aproximaciones de filtros analógicos ......................................... 25
4.4 Transformaciones ................................................................................ 26
5. Aproximación por filtros recursivos ............................................................. 27
5.1 Realizabilidad ...................................................................................... 27
5.2 Método de la Transformación Bilineal ................................................ 27
5.3 Realización de un filtro digital ............................................................ 30
5.4 Propiedades de mapeo de la transformación bilineal .......................... 33
6. La transformada discreta de Fourier (DFT) ................................................ 35
6.1 Antitransformada discreta de Fourier (IDFT) ..................................... 35
6.2 Interrelación 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 Interrelación entre la transformada discreta de Fourier (DFT), y la
la transformada contínua de Fourier (CFT) ......................................... 39
7. Algoritmos para el cálculo de la transformada rápida de Fourier (FFT) . 41
8. Diseño de filtros no recursivos (FIR) ............................................................ 45
8.1 Propiedades de los filtros no recursivos .............................................. 45
8.2 Diseño 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 método de diseño de filtros FIR basado
en la ventana de Kaiser .......................................... 58
Bibliografía recomendada
¾ Antoniu A., "Digital Filters. Analysis, Design and Applications", 2º edición., McGraw-Hill.
¾ Oppenheim, Schafer & Buck, "Tratamiento de Señales en Tiempo Discreto",
2º edición, Prentice-Hall.
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
Introducción al Procesamiento Digital de Señales
Introducción
El procesamiento de señales trata de la representación, transformación y manipulación de señales
y de la información que contienen. Por ejemplo, podríamos desear separar dos o más señales
que se han combinado de alguna forma, o podríamos querer realzar alguna componente de la
señal o algún parámetro de un modelo de señal. Este procesamiento se puede realizar mediante
teconología analógica en tiempo contínuo, o como se ha ido difundiendo cada vez más mediante
procesamiento en tiempo discreto mediante programas y procesadores.
Si las señales a tratar son analógicas, deberán ser convertidas en una secuencia de muestras, a fin
de ser procesadas mediante algún algoritmo. Luego, de ser necesario serán vueltas a convertir en
señales analógicas. Un ejemplo de esto es el filtrado de señales de audio.
Es común que se denomine a esta forma de procesamiento, indistintamente, como procesamiento
digital de señales o procesamiento de señales en tiempo discreto.
Una buena parte del procesamiento de señales involucra el proceso de una señal para obtener
otra señal: es el caso del filtrado digital.
Otra buena parte del procesamiento de señales comprende la interpretación de señales. En este
caso no se intenta obtener una señal de salida, sino una caracterización de la señal 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)
Filtro Digital
x(nT)
y(nT)
x(nT) es la secuencia de entrada -la excitación del filtro- e y(nT) es la respuesta del filtro ante la
excitación x(nT).
El análisis de un filtro digital es el proceso de determinar la respuesta de un filtro ante una dada
excitación. El diseño 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 Características 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:
Mag. Guillermo Friedrich
-1-
x(nT) = y(nT) = 0
∀ n < 0,
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
un filtro digital es invariante en el tiempo si, para cualquier posible excitación, 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)
y(nT – kT) = 12 x(nT – kT – T) + 11 x(nT – kT – 2T)
son iguales ⇒ es Invariante
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 excitación.
Es decir: para un par de excitaciones tales que:
Si el filtro es causal se debe cumplir que:
x1(nT) = x2(nT) ∀ n ≤ k
x1(nT) ≠ x2(nT) ∀ n > k
R x1(nT) = R x2(nT)
y
∀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 x1(kT – 2T) + 3 x1(kT + 2T) =
= 3 x1( (k–2)T ) + 3 x1( (k+2)T )
R x2(kT) = 3 x2( (k–2)T ) + 3 x2( (k+2)T )
son distintos ⇒
⇒ NO Causal
(b) y(nT) = R x(nT) = 2 x(nT – T) – 3 x(nT – 2T)
Si n ≤ k ⇒ (n–1) < k
y: (n–2) < k
∴ x1(nT – T) = x2(nT – T)
y:
Mag. Guillermo Friedrich
x1(nT – 2T) = x2(nT – 2T)
-2-
∀n≤k
Técnicas Digitales III - UTN - FRBB
⇒
R x1(nT) = R x2(nT)
Procesamiento Digital de Señales
∀n≤k
⇒ El filtro es Causal
¾ Linealidad
Un filtro digital es lineal si se cumple que:
R α x(nT) = α R x(nT)
R [ x1(nT) + x2(nT) ]
= R x1(nT) + R x2(nT)
∀ α, x1(nT) y x2(nT)
O bien:
R [α x1(nT) + β x2(nT) ]
= α R x1(nT) + β R x2(nT)
∀ α, β, x1(nT) y x2(nT)
Ejemplos:
(a) y(nT) = R x(nT) = 7 x2(nT – T)
R α x(nT) = 7 α2 x2(nT – T)
≠ α R x(nT) = 7 α x2(nT – T)
⇒ No Lineal
(b) y(nT) = R x(nT) = (nT)2 x(nT + 2T)
R [α x1(nT) + β x2(nT) ]
= (nT)2 [ α x1(nT + 2T) + β x2(nT + 2T) ] =
= α (nT)2 x1(nT + 2T) + β (nT)2 x2(nT + 2T) =
= α R x1(nT) + β R x2(nT)
⇒
Es Lineal
1.2 Caracterización de Filtros Digitales
1.2.1 Filtros No Recursivos
Los filtros digitales no recursivos también se denominan "de Respuesta Finita al Impulso", y
también se los identifica con la sigla FIR (Finite Impulse Response).
La expresión general de un filtro FIR es la siguiente:
∞
y(nT) = ∑ ai x(nT – iT)
i = –∞
Considerando que el filtro es causal tenemos que:
Mag. Guillermo Friedrich
-3-
a–1 = a–2 = .... = 0, por lo tanto:
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
∞
y(nT) = ∑ ai x(nT – iT)
i=0
Si además se considera que se parte del reposo: x(nT) = 0
∀n<0
y si sólo una cantidad finita de coeficientes es distinta de cero: ai = 0
∀ i>N
Se llega a la siguiente expresión del filtro no recursivo:
N
y(nT) = ∑ ai x(nT – iT)
i=0
Donde N: orden del filtro
Esta expresión indica que el valor de salida actual de un filtro FIR es función de la entrada actual
y de las N entradas anteriores.
1.2.2 Filtros Recursivos
Los filtros digitales recursivos también se denominan "de Respuesta Infinita al Impulso", y
también se los identifica con la sigla IIR (Infinite Impulse Response). La respuesta de un filtro
IIR es función de la excitación y también de las respuestas anteriores.
La siguiente es la expresión de un filtro digital recursivo, lineal, invariante en el tiempo y causal:
N
N
y(nT) = ∑ ai x(nT – iT) – ∑ bi y(nT – iT)
i=0
i=1
1.2.3 Redes de Filtrado Digital
La estructura de un filtro digital puede representarse gráficamente mediante una red en la que se
combinan los siguientes elementos básicos:
Retardo unitario:
x(nT)
T
y(nT)
Sumador:
x1(nT)
k
y(nT) = ∑ xi (nT)
i=1
xk(nT)
Mag. Guillermo Friedrich
-4-
y(nT) = x(nT – T)
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
Multiplicador:
m
x(nT)
Ejemplo:
y(nT)
y(nT) = m x(nT)
y(nT) = x(nT) + eα y(nT – T)
x(nT)
e
y(nT)
α
T
2. Introducción al análisis 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
¾ Escalón unitario:
u(nT) =
0
¾ Rampa unitaria:
n<0
nT
n≥0
0
n<0
r(nT) =
¾ Exponencial: eα nT
¾ Sinusoide:
sen( ω nT )
La respuesta temporal de un filtro digital se puede determinar resolviendo la correspondiente
ecuación de diferencias.
Ejemplo (a):
Hallar la respuesta temporal al impulso de filtro digital cuya ecuación de diferencias es:
α
y(nT) = x(nT) + e y(nT – T)
Mag. Guillermo Friedrich
-5-
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
α
Partiendo del reposo:
y(0) = 1 + e y( – T) = 1
α
α
y(T) = 0 + e y(0) = e
α
2α
y(2T) = 0 + e y(T) = e
.......
nα
y(nT) = e
Las siguientes gráficas representan la respuesta temporal del filtro en función de α:
α<0
α=0
y(nT)
α>0
y(nT)
1
y(nT)
1
1
nT
nT
nT
Ejemplo (b):
Hallar la respuesta temporal del filtro dado por la siguiente expresión:
α
α<0
y(nT) = x(nT) + e y(nT – T)
Para la entrada: x(nT) = u(nT) sen(ω nT)
y(nT) = R sen(ω nT) = R ( 1 e j ωnT – 1 e –j ωnT ) = 1
2j
2j
2j
R
e j ωnT – 1 R e –j ωnT =
2j
y(nT) = 1 y1(nT) – 1 y2(nT)
2j
2j
Ahora resolvemos por separado cada una de las componentes de la salida.
y1(nT) = R ejωnT
Partiendo del reposo:
α
y1(0) = 1 + e y( – T) = 1
j ωT
j ωT
α
α
+ e y1(0) = e + e
y1(T) = e
j 2ωT
α
α + j ωT
2α
y1(2T) = e
+ e y1(T) = e + e
+ e j 2ωT
.......
nα
y1(nT) = e
+ e(n–1)α + j ωT + .......+ e j ωnT
n
y1(nT) = e
j ωnT
∑
k ( α – j ωT)
e
k=0
Como esta expresión corresponde a una serie geométrica, puede demostrarse que :
Mag. Guillermo Friedrich
-6-
Técnicas Digitales III - UTN - FRBB
e
Procesamiento Digital de Señales
j ωnT
– e ((n+1) α – j ωT)
y1(nT) =
1– e
( α – j ωT)
Si ahora consideramos la función: H(e
e
j ωT
)=
e
donde:
y:
j ωT
j ωT
–e
1
α
=
1– e
( α – j ωT)
= M(ω) e jθ(ω)
1
M(ω) = H(e j ωT) =
1 + e2α – 2 e α cos(ωT)
θ(ω) = arg H(e j ωT) = ωT – arc tg
sen(ωT)
cos(ωT) – e α
y1(nT) = u(nT) M(ω) e j( θ(ω) + ω nT) – e (n+1)α +
j( θ(ω) – ω T)
Reemplazando ω por –ω en y1(nT) se obtiene y2(nT)
y2(nT) = u(nT) M(–ω) e j( θ(–ω) – ω nT) – e (n+1)α +
Como M(–ω) = M(ω)
j( θ(–ω) + ω T)
θ(–ω) = – θ(ω) se puede llegar a:
y
y(nT) = 1 y1(nT) – 1 y2(nT)
2j
2j
y(nT) = M(ω) sen [ω nT + θ(ω) ] – M(ω) e(n+1)α sen [ θ(ω) – ωT]
estacionario
transitorio
(tiende a 0 para n → ∞)
lím y(nT) = M(ω) sen [ω nT + θ(ω) ]
n→∞
Donde:
H(e j ωT) :
M(ω) :
θ(ω) :
respuesta en frecuencia
respuesta en amplitud
respuesta en fase
x(nT)
1-
y(nT)
M(ω) -
nT
nT
–1 -
Mag. Guillermo Friedrich
-7-
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
2.1 Sumatoria de Convolución
La respuesta de un filtro digital a una excitación arbitraria puede ser expresada en términos de la
respuesta del filtro a una entrada impulsiva. Para ello se debe realizar la convolución entre la
señal de entrada y la respuesta impulsiva.
Una señal de entrada x(nT) puede ser expresada de la siguiente forma:
∞
x(nT) =
x(kT) si n=k
∑
k=–∞
xk (nT)
donde:
xk(nT) =
si n≠k
0
También se podría expresar de la siguiente manera:
xk(nT) = x(kT) δ(nT – kT)
Por lo tanto:
∞
∑
x(nT) =
x(kT) δ(nT – kT)
k=–∞
Partiendo de esta última expresión, vamos a considerar un filtro digital lineal, invariante en el
tiempo, tal que su respuesta impulsiva sea:
h(nT) = R δ(nT)
y(nT) = R x(nT)
y su respuesta a una entrada arbitraria x(nT) sea:
∞
⇒ y(nT) = R
∑
∞
R
δ(nT – kT) =
∑
x(kT) h(nT – kT)
k=–∞
∀ n < 0, por lo tanto:
∞
n
∑
x(kT)
k=–∞
Si el filtro es causal ⇒ h(nT) = 0
y(nT) =
∑
x(kT) δ(nT – kT) =
k=–∞
∞
x(kT) h(nT – kT) =
k=–∞
∑
h(kT) x(nT – kT)
k=0
Si además se considera que: x(nT) = 0
∀ n < 0, la respuesta del filtro digital queda
expresada mediante la siguiente sumatoria de convolución:
n
∑
y(nT) =
k=0
n
∑
x(kT) h(nT – kT) =
h(kT) x(nT – kT)
k=0
Ejemplo:
Dado el filtro digital caracterizado por la siguiente expresión: y(nT) = x(nT) + eα y(nT – T) ,
calcular, usando la sumatoria de convolución, la respuesta del filtro a la siguiente excitación:
Mag. Guillermo Friedrich
-8-
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
1 para 0 ≤ n ≤ 4
x(nT) =
0
para ∀ otro n
Tal como se ha visto más arriba, la respuesta impulsiva de este filtro es: h(nT) = R δ(nT) = enα
La entrada puede expresarse de esta otra forma, en términos de alguna de las funciones básicas
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 escalón unitario,
entonces tenemos:
n
∑
y(nT) =
ekα u(nT – kT) =
k=0
¾ Para n > 4
1 – e(n+1) α
n
∑
ekα =
1 – eα
para n ≥ 0
0
para n < 0
k=0
→ y(nT) = R u(nT) – R u(nT – 5T)
n–5
R u(nT – 5T) = R u( (n–5)T ) = ∑
1 – e(n–4)α
1 – eα
n–5
ekα u( (n–5)T – kT ) =
k=0
∑
n≥5
ekα =
k=0
0
n<5
Finalmente, reuniendo ambos resultados en una sola expesión, llegamos a:
1 – e(n+1) α
1 – eα
y(nT) = R u(nT) – R u(nT – 5T) =
e(n–4) α – e(n+1) α
1 – eα
0≤n≤4
n≥5
2.2 Estabilidad
Un filtro digital es estable si para cualquier excitación 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:
Mag. Guillermo Friedrich
-9-
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
∞
 y(nT)  ≤
∑
h(kT) . x(nT – kT)
k=–∞
→ El módulo de una suma es menor o igual
que la suma de los módulos; y además
el módulo de un producto es menor o
igual que el producto de los módulos.
∞
Si x(nT) ≤ M < ∞
∀n
⇒
y(nT) ≤ M ∑ h(kT)
k=–∞
∞
Por lo tanto, si:
∑
h(kT) < ∞
⇒
y(nT) < ∞
∀n
k=–∞
Condición 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) = enα
∞
Por lo tanto:
∑
h(kT) = 1 +  eα + e2α + ..... + e nα
k=–∞
e (k+1)α
Esta serie converge si:
e kα
<1
Por lo tanto, la condición de estabilidad es:
Mag. Guillermo Friedrich
Es decir, si:
α<0
- 10 -
eα < 1
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
3. La transformada Z
La transformada Z se utiliza para el análisis de filtros digitales lineales e invariantes en el
tiempo. Transforma ecuaciones de diferencias en expresiones algebraicas, lo que simplifica los
cálculos.
∞
Definición:
F(z) =
∑
f(nT) z –n
Para cualquier z, tal que F(z) converge.
z : variable compleja
z=x+jy
n=-∞
Notación:
F(z) = Z f(nT)
3.1 Propiedades de la transformada Z
a) Región de convergencia
-
El tipo de funciones que se usa en filtros digitales son funciones meromórficas (sus únicas
singularidades son polos).
Hay más 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
II
I x
x
x
x
x
Se asume que la serie que interesa es una que converge en la región III, es decir: R1 ≤ z≤ R2
donde: z= R1 es el círculo que pasa por los polos más alejados del origen
R2 → ∞
b) Linealidad
Si a y b son constantes, y Z f(nT) = F(z) y
Mag. Guillermo Friedrich
Z g(nT) = G(z), entonces:
- 11 -
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
Z [ a f(nT) + b g(nT) ] = a F(z) + b G(z)
c) Translación
Z f(nT + mT) = zm F(z)
d) Cambio de escala complejo:
Z [ω–n f(nT) ] = F(ωz)
e) Diferenciación compleja:
Z [ nT f(nT) ] = –T z d F(z)
dz
∞
Z ∑ f(kT) g(nT – kT) = F(z) G(z)
k=–∞
f) Convolución Real:
o bien:
∞
Z ∑ f(nT – kT) g(nT) = F(z) G(z)
k=–∞
3.2 Transformada Z unilateral
De manera análoga a la transformada de Laplace, la transformada Z unilateral es definida así:
F(z) =
Z ≠ ZI
∞
∑ f(nT) z –n = ZI f(nT)
n=0
sólo si f(nT) ≠ 0 para n<0.
Como se trabaja con funciones que son cero para n<0, no es necesario hacer la distinción.
Ejemplos:
a)
b)
c)
Z δ(nT) = δ(0) + δ(T) z–1 + δ(2T) z–2 + .......... = 1
–1
1
–2
Z u(nT) = u(0) + u(T) z + u(2T) z + .......... = 1 + z–1 + z–2 + ........ =
1 – z–1
z
=
z–1
K
–1
Z u(nT –T) K = K z Z u(nT) =
(aplicando la propiedad de translación)
z–1
d) Z [ u(nT) K ω–n ] = K Z [ (1/ω) u(nT) ] = K Z u(nT) =
z→ z/ω
–n
Mag. Guillermo Friedrich
- 12 -
Kz
z–ω
(se aplicó la prop.
de cambio de
escala complejo)
Técnicas Digitales III - UTN - FRBB
e) Z [ u(nT) e
–α nT
Procesamiento Digital de Señales
z
]=
(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
(z–1)2
g) Z [u(nT) sen(wnT)] = Z [ u(nT) ( ejωnT – e–jω nT )] =
2j
= 1 Z [ u(nT) ejωnT ] – 1 [ u(nT) e–jω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 – ejωT z – e–jωT
z2 – 2z cos(ωnT) + 1
3.3 La transformada Z inversa
Si F(z) converge en algún 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
2πj
∫ F(z) z
n–1
dz = Z–1 F(z)
Γ
Si: F(z) zn–1 = F0(z) =
N(z)
donde k y m son enteros positivos
k
mi
∑ ( z–pi )
i=1
Aplicando el teorema del residuo se obtiene:
La notación es la siguiente:
f(nt) =
f(nT) = ∑ res z=pi [Fo(z)]
Z–1 F(z)
Ejemplos: Hallar la antitransformada Z de las siguientes F(z):
(a)
F(z) =
(2z – 1) z
2 (z–1) (z + 0.5)
f(nT) = resz=1 [ F(z) zn–1 ] + resz=–0,5 [ F(z) zn–1 ] = (2z – 1) zn + (2z – 1) zn
2 (z + 0.5)
2(z – 1)
z=1
z=–0.5
Mag. Guillermo Friedrich
- 13 -
Técnicas Digitales III - UTN - FRBB
f(nt) = 1 + 2 ( –1 )n
3
3
2
(b) F(z) =
1
2 (z–1) (z + 0.5)
Procesamiento Digital de Señales
Como f(nT)=0 ∀ n<0 ⇒ f(nT) = u(nT) [ 1 + 2 ( –1 )n ]
3
3
2
Fo(z) = F(z) zn–1 =
zn–1
_
2 (z–1) (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 (z–1) (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) = _____zn-1_____ + ___zn-1___
= _1 – 1 ( –1 )n–1
2 (z + 0.5)
2 (z – 1)
3
3 2
z=1
z=–0.5
Finalmente: f(nT) = a(nT – T) [ 1 – 1 ( 1 )n–1 ]
3
3 2
3.4 Otras maneras de hallar la antitransformada Z
Expansión 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 n–1 ] z –n
n=0
⇒
Z–1 [
K ] = u(nT – T) K w n–1
z–w
Mag. Guillermo Friedrich
- 14 -
→ Es apta para F(z) con un solo polo.
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
Fracciones Parciales
k
Si una transformada Z se expresa de la siguiente manera:
F(z) = ∑ Fi (z)
i=1
Entonces, la antitransformada Z se puede hallar así:
–1
Z
k
∑ Z–1 Fi (z)
F(z) =
i=1
Ejemplo: Sea
F(z) =
z
=
2
–
1___
(z – ½) (z – ¼) (z – ½)
(z – ¼)
Por lo tanto: f(nT) = 2 u(nT – T) (½)n–1 – u(nT – T) (¼)n–1 = 4 u(nT – T) [(½)n –(¼)n ]
Uso del Teorema de Convolución
Si una transformada Z se puede convertir en el producto de dos transformadas Z cuyas
antitransformadas sean conocidas, mediante convolución se puede hallar la
antitransformada Z.
–1
Z
∞
∑
[ F(z) G(z) ] =
f(kT) g(nT – kT)
k=–∞
Ejemplo:
Y(z) =
z
(z – 1)2
⇒
De la tabla se obtiene:
F(z) =
z
z–1
f(nT) = u(nT)
G(z) =
1__
z–1
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)
Mag. Guillermo Friedrich
- 15 -
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
Convolución Compleja
La convolución 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=–∞
∞
[f(nT) g(nT)] z–n
n=–∞
Donde: g(nT) =
1
G(v) vn–1 dv
2πj Γ1
∞
Z g(nT) = G(z) = ∑
g(nT) z–n
n=–∞
∞
Por lo tanto: Y(z) =
∑
f(nT)
n=–∞
Y(z) =
Y(z) =
∑
⇒ Y(z) = Z [ f(nT) g(nT) ] =
∫
1
2πj Γ1
∫ G(v) v
1
n–1
∫
z–n =
dv
2πj Γ1
∞
∑
f(nT) vn–1
z–n
G(v) v–1 dv =
n=–∞
∫
∫
F(z/v) G(v) v–1 dv = 1
F(z) G(z/v) v–1 dv =
1
2πj Γ1
2πj Γ2
Donde: Γ1 (o Γ2 ) es un contorno en la región común 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
Sean:
f(nT) = u(nT) e–αnT
⇒ F(z) =
z
z – e–αT
⇒ F(z/v) =
⇒ Y(z) =
Γ2
y(nT) = u(nT) e–αnT sen ωT
g(nT) = u(nT) sen ωT
G(z) =
z sen ωT_____
(z – ejωT) (z – e–jωT)
z/v
=
–z
z/v – e–αT
v – z e–αT
G(v) =
∫
1
– z e–αT sen ωT_______ dv = z e–αT sen ωT_________
2πj Γ2 (v – z e–αT) (v – ejωT) (v – e–jωT)
z2 – 2z e–αTcos ωT + e–2αT
1
plano v
Mag. Guillermo Friedrich
v sen ωT________
(v – ejωT) (v – e–jωT)
F(z/v) y G(z) convergen en:
- 16 -
|v| < zeαT
|v| > 1
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
3.5 Aplicación de la transformada Z
Usando la transformada Z, un filtro digital puede ser caracterizado mediante una función
transferencia discreta en el tiempo, que juega el mismo rol que la función transferencia contínua
en el tiempo para un filtro analógico.
Considerando un filtro digital lineal e invariante en el tiempo, tal como el siguiente:
∞
y(nT) =
∑
Z y(nT) = Z h(nT) . Z x(nT)
x(kT) h(nT – kT) ⇒
⇒ Y(z) = H(z) . X(z)
k=–∞
3.5.1 Obtención de H(z)
Para un filtro digital causal y recursivo tenemos:
N
N
y(nT) = ∑ ai x(nT – iT) – ∑ bi y(nT – iT)
i=0
i=1
Por lo tanto:
N
Z y(nT) = ∑ ai
N
z
–i
Z x(nT)
i=0
–
∑ bi
N
Y(z) = X(z) ∑ ai z
i=0
–i
– Y(z)
∑
bi z–i
i=1
N
⇒
Y(z) 1 +
Z y(nT)
i=1
N
⇒
z–i
N
∑
bi z–i
i=0
= X(z)
∑
ai z–i
i=1
Como H(z) = Y(z) ⇒
X(z)
N
N
∑
ai z
–i
Ho
i=0
⇒
H(z) = Y(z) =
Π ( z – zi )
i=0
= .... factoreando ...=
N
1+
∑
N
bi z
Π ( z – pi )
–i
i=1
i=1
Donde: zi son los ceros y pi son los polos
Mag. Guillermo Friedrich
- 17 -
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
Ejemplo: Hallar la función transferencia discreta del siguiente filtro:
U(z)
X(z)
Y(z)
½
–¼
T
T
¾ Los tres elementos básicos son:
sumador:
y(nT) = ∑ xi(nT)
xi(nT)
multiplicador:
y(nT) = m x(nT)
y(nT)
∴ Y(z) = ∑ Xi(z)
y(nT)
∴ Y(z) = m Xi(z)
y(nT)
∴ Y(z) = z–1 Xi(z)
m
xi(nT)
retardo: y(nT) = x(nT – T)
T
x(nT)
⇒ 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)
∴
(1 + z–1) X(z)___
1 – ½ z–1 + ¼ z–2
Y(z) =
∴ H(z) =
z (z + 1)_____
z –½z+¼
2
∴ H(z) = Y(z) =
(1 + z–1)_____
X(z)
1 – ½ z–1 + ¼ z–2
los polos son:
p1 = ¼ + j √3_
4
p2 = ¼ – j √3_
4
Como p1< 1
Mag. Guillermo Friedrich
y
p2< 1
⇒ El filtro es estable
- 18 -
1
x
x
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
3.5.2 Criterio de Estabilidad de Jury
Si expresamos la función transferencia discreta de un filtro de la siguiente manera:
N
H(z) =
N(z)
D(z)
Donde: D(z) = ∑ bi z N – i
i=0
( se asume b0 > 0 )
Y se construye un arreglo como el siguiente:
Fila
1
2
3
4
5
6
:
:
2N–3
Coeficientes
b0 b1 b2
bN bN–1 bN–2
c0 c1 c2
cN cN–1 cN–2
d0 d1 d2
dN dN–1 dN–2
r0
r1
Donde:
b3 b4 ........
........
c3 c4 ........
........
d3 d4 ........
........
b0
ci =
bN
b0
cN
c0
dN
d0
bN–1
∀ i ∈ [0, N–1]
bN bi
c0
di =
cN–1
∀ i ∈ [0, N–2]
cN ci
ei y subsiguientes se calculan de
manera análoga.
r2
Para que el sistema sea estable se deben cumplir las siguientes condiciones:
a) D(1) > 0
b) (–1)N D(–1) > 0
c) c0 > cN–1
d0 > dN–2
.........
r0 > r2
Ejemplo:
H(z) =
z4__________
4
3
4z + 3z + 2z2 + z + 1
Verificando: (a) D(1) = 4 + 3 + 2 + 1 + 1 = 11 > 0
1
2
4
1
3
1
2
2
1
3
3
4
15
1
11
6
6
11
1
15
5
224
159
79
√
(b) (–1)4 D(–1) = 4 – 3 + 2 –1 + 1 = 3 > 0 √
(c) r0=224
Mag. Guillermo Friedrich
> r2=79 √
- 19 -
⇒ El filtro es estable.
1
4
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
3.5.3 Análisis en el dominio del tiempo
Si se desea obtener la respuesta temporal de un filtro digital caracterizado por una función
transferencia discreta H(z), ante una cierta excitación X(z), se hace lo siguiente:
y(nT) = Z–1 [ H(z) X(z) ]
Ejemplo:
Hallar la respuesta temporal al escalón unitario del siguiente filtro digital:
X(z)
Y(z)
T
T
–½
H(z) = 1 – z–1 + z–2
=
–1
–2
1–z +½z
X(z) =
z__ ∴
z–1
Donde: A=2
–1
z2 – z + 1 = z2 – z + 1
z2 – z + ½
(z – p1) (z – p2)
Y(z) = H(z) X(z) =
B = ej5π/4
√2
p1 = e–jπ/4
√2
p2 = ejπ/4
√2
z (z2 – z + 1) = A z + B z + C z__
(z–1)(z–p1)(z–p2)
(z–1)
(z–p1) (z–p2)
C = B* = e–j5π/4
√2
∴ y(nT) = Z–1 [ H(z) X(z) ] = 2 u(nT) +
⇒ y(nT) = 2 u(nT) +
Donde:
1
u(nT) [ ej(n–5)π/4 + e–j(n–5)π/4 ]
(√ 2 )n–1
1
u(nT) cos[ (n–5) π/4 ]
n–1
(√ 2 )
y(nT)
2
1
nT
Mag. Guillermo Friedrich
- 20 -
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
3.5.4 Análisis en el dominio de la frecuencia
La respuesta estacionaria de un filtro analógico cuya función transferencia es H(s) , se calcula de
la siguiente manera:
lím y(t) = lím 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 excitación senoidal es:
donde: X(z) = Z [ u(nT) sen(ωnT) ] =
y(nT) = Z–1 [ H(z) X(z) ]
O sea:
y(nT) =
∫ H(z) X(z) z
n–1
z sen(ωnT)___
(z–ejωT)(z–e–jωT)
dz = ∑ res [ H(z) X(z) zn–1 ]
Γ
Para n > 0 tenemos:
N
y(nT) =
∑
res [ H(z)] x(pi) pin–1 + 1 [ H(ejωT) ejωnT – H(e–jωT) e–jωT ]
i=1 z=pi
2j
Como pi<1 , este término
tiende a cero para n → ∞
Por lo tanto:
Como:
y(nT) ≈ 1 [ H(ejωT) ejωnT – H(e–jωT) e–jωT ]
2j
H(ejωT) = H*(e–jωT)
y si: H(ejωT) = M(ω) ejθ(ω)
Donde: M(ω) = H(ejωT) y θ(ω) = arg H(ejωT)
⇒ y(nT) = M(ω) sen[ωnT + θ(ω)]
jϕziT
N
H(e
jωT
) = M(ω) e
jθ(ω)
H0
=
Π
jωT
(e – zi)
i=1________
e
jωT
– zi = Mzi e
Donde:
jϕpiT
N
Π
(ejωT – pi)
ejωT – pi = Mpi e
i=1
Mag. Guillermo Friedrich
- 21 -
Técnicas Digitales III - UTN - FRBB
Así obtenemos:
Procesamiento Digital de Señales
N
H0
M(ω) =
Π
Mzi
N
θ(ω) =
i=1________
ϕzi –
i=1
N
Π
∑
N
∑
ϕpi
i=1
Mpi
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
p1
ϕp1 Mp1
Mz1
x
Mp2
C
MZ2
El punto A ⇒ ω = ∞
C ⇒ ω = π/T (frecuencia
de Nyquist)
o
z1
A
ϕp2
x
ϕz2
p2
o
z2
Como:
ω+ kωs)T
H(ejωT) = H(ej(
) = H(ejωT)
Una vuelta completa alrededor del
origen corresponde a un incremento
de frecuencia de ωS = 2π
T
Donde ωS : frecuencia de muestreo
⇒ H(ejωT) es periódica con período ωS
A los fines prácticos se trabaja con un período –ωS , ωS llamado banda base.
Ejemplo:
Hallar la respuesta en frecuencia en fase y amplitud para el siguiente filtro,
considerando: ωS = 2 [rad/seg]
( A0 = 0.4 A1 = 0.303 y A2 = 0.0935 ).
H(z) = A2 z2 + A1 z + A0 + A1 z–1 + A2 z–2
z2
H(ejωT) = A2 ( ej2ωT + e–j2ωT ) + A1 ( ejωT + e–jωT ) + A0 =
ej2ωT
H(ejωT) = 2 A2 cos(2ωT ) + 2 A1 cos(ωT) + A0
ej2ωT
∴
∴ M(ω) = H(ejωT) = 2 A2 cos(2ωT ) + 2 A1 cos(ωT) + A0 
θ(ω) = θN – 2ωT
Mag. Guillermo Friedrich
donde: θN =
0 si (2 A2 cos(2ωT ) + 2 A1 cos(ωT) + A0 ) > 0
π para ∀ otro caso
- 22 -
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
4. Aproximaciones de filtros analógicos
Un filtro digital recursivo se puede aproximar usando alguna de las siguientes aproximaciones de
filtros analógicos:
- Butterworth
- Tschebyscheff
- Elipticos
- Bessel
4.1 Conceptos Básicos
La función transferencia de un filtro analógico se puede expresar como: V0(s) = H(s) = N(s)
Vi(s)
D(s)
Donde: N(s) y D(s) son polinomios en función de s = σ + jω
¾ Atenuación en dB: A(ω) = 20 log Vi(jω) = 20 log 1
Vo(jω)
H(jω)
Donde: L(ω 2) =
= 10 log 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 características de Atenuación, Fase y Retardo en funcion de ω.
Con ω = s
j
hacemos: L(–s2) = D(s) D(–s)
N(s) N(–s)
Función de atenuación
Un par de diagramas típicos de polos y ceros de H(s) y L(–s2) son como los siguientes:
jω
jω
H(s)
x2
x
σ
x
x
x 2
4.2 Aproximación de Butterworth
La aproximación mas simple para un pasabajos es la de Butterworth.
Se asume que:
L(ω2) = B1 ω2 + B2 ω4 + ....... + Bn ω2n
Mag. Guillermo Friedrich
- 23 -
L(–s2)
Técnicas Digitales III - UTN - FRBB
tal que:
lím L(ω2) = 1
ω2→ ∞
Procesamiento Digital de Señales
∴ Bo = 1
⇒ L(0) = 1
Se puede llegar a que B1 = B2 = ..... = Bn = 0
∴
L(ω2) = 1 + Bn ω2n
Como para un pasabajos normalizado: A(ω) = –3dB a
⇒ Bn = 1 ∴
ω = 1 [rad/seg]
L(ω2) = 1 + ω2n
La atenuación de un pasabajos Butterworth normalizado es: A(ω) = 10 log(1+ω2n) , y en la
siguiente figura se presentan las curvas de atenuación en función de n (orden del filtro).
n=9
n=6
n=3
4.2.1 Función Transferencia Normalizada
2n
Con ω = s tenemos: L(–s2) = 1 + (–s2)n = Π (s – sk)
j
k=1
donde:
sk = e j(2k–1)π
sk = e j(k–1)π
/ 2n
/n
para n par
para n impar
Como | sk | = 1 , los ceros de L(–s2) están en el círculo |s| = 1.
La función transferencia normalizada puede ser expresada como:
1
HN(s) =
n
donde: pi son los ceros de L(–s2) en el semiplano izquierdo.
Π (s – pi)
i=1
Mag. Guillermo Friedrich
- 24 -
Técnicas Digitales III - UTN - FRBB
Ejemplo:
hallar HN(s) para:
Procesamiento Digital de Señales
(a) n=2
(b) n=3
(a) n = 2 (par) ⇒ sk = e j(2k–1) π / 2n ⇒ sk = e j(2k–1) π / 4
s1 = e j π / 4
(semiplano derecho)
j 3π / 4
⇒ s2 = –1 + j 1
√2
√2
√
s3 = e j 3 π / 4
⇒ s2 = –1 – j 1
√2
√2
√
s2 = e
s4 = e j 7 π / 4
∴ HN(s) =
s2
X
s3 X
(semiplano derecho)
1
(s + 1 – j 1 ) (s + 1 + j 1 )
√2
√2
√2
√2
=
1_______
(s +√2 s+1)
2
(b) n = 3 (impar) ⇒ sk = e j(k–1) π / n ⇒ sk = e j(k–1) π / 3 = cos (k–1)π + j sen (k–1)π
3
3
⇒
s3 = –0.5 + j √ 3_
2
s4 = –1
s3
s5 = –0.5 + j √ 3_
2
∴ HN(s) =
s4
1
(s + 1) (s2 + s + 1)
X
X
s5
X
4.3 Otras aproximaciones de filtros analógicos
Además de la aproximación de Butterworth, existen otras aproximaciones para filtros analógicos,
de las cuales las siguientes son las más conocidas.
¾ Aproximación de Tschebyscheff
– La atenuación en la banda de paso oscila entre 0 y un máximo permitido
– La atenuación en la banda de rechazo aumenta monotónicamente.
Mag. Guillermo Friedrich
- 25 -
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
¾ Aproximación Elíptica
– La atenuación en la banda de paso oscila entre 0 y Ap.
– La atenuación en la banda de rechazo oscila entre ∞ y Aa.
¾ Aproximación 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 + ωo2 )
B
s
PasaBajos → RechazaBanda:
s=
B s___
s 2 + ωo2
Ejemplo:
Hallar la función transferencia de un filtro pasabajos de Buterworth de orden 3. La frecuencia de
corte (–3 dB) debe ser de 2000 Hz.
HN(s) =
1_______
(s + 1) (s2 + s + 1)
λ = ωoN
ωoD
=
1
2 π 2000
HPB(š) =
1
=
λ–3
=
(λš + 1) ( (λš)2 + λš + 1 )
(š + λ–1) ( š 2 + λ–1 š + λ–2 )
HPB(š) =
1.9844 . 1012__________________
(š + 12566.37) ( š 2 + 12566.37 š + 157.9137 . 106 )
=
1
4000 π
Como se verá posteriormente, una de las aplicaciones de los filtros digitales es el procesamiento
de señales analógicas, con un esquema como el siguiente:
Mag. Guillermo Friedrich
- 26 -
Técnicas Digitales III - UTN - FRBB
x(t)
x~(t)
FPB
Procesamiento Digital de Señales
A/D
x(nT) FILTRO
y(nT)
DIGITAL
D/A
y~(t)
FPB
y(t)
c(t)
Una posibilidad para el diseño y síntesis del filtro digital es partir de la función transferencia del
filtro analógico, y aplicarle una transformación para hallar H(z), y posteriormente implementar el
filtro digital.
Las transformaciones para pasar de un filtro analógico a un filtro digital recursivo son:
¾
¾
¾
¾
Método de la respuesta invariante al impulso
Variante del anterior
Transformada Z asociada
Transformación Bilineal → es la más común.
5. Aproximación por filtros recursivos
Al igual que para los filtros analógicos, la etapa de aproximación es el proceso a través del cual
se obtiene una función transferencia que satisfaga los requerimientos.
Los filtros digitales recursivos pueden obtenerse a partir de aproximaciones de filtros analógicos,
mediante alguno de los métodos recién mencionados.
5.1 Realizabilidad
A fin de poder ser implementada mediante un filtro recursivo, una función transferencia debe
satisfacer las siguientes condiciones:
1) Debe ser una función real de z con coeficientes reales.
2) Sus polos deben estar dentro del círculo 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 Método de la Transformación Bilineal
El objetivo de la transformación Bilineal es lograr un filtro digital cuya respuesta temporal sea
similar a la respuesta temporal del filtro analógico de origen, ante cualquier excitación.
N
Se parte de la función transferencia analógica:
∑
ai sN–i
HA(s) = i=0
N
s + ∑ bi sN–i
N
Mag. Guillermo Friedrich
- 27 -
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
Y se obtiene HD(z) mediante el siguiente reemplazo:
Es decir:
HD(z) = HA(s)
s = 2 (z – 1)
T (z + 1)
donde T : período de
muestreo
s = 2 (z–1)
T (z+1)
Demostración:
Un integrador analógico con función transferencia HI(s) = 1 , tiene una respuesta
temporal al impulso:
s
L
1 para t ≥ 0+
–1
HI(s) = hI(t) =
0 para t ≤ 0–
t
Y su respuesta temporal ante cualquier excitación será: y(t) =
∫ x(τ) h (t–τ) dτ
I
0
x(τ)
t1
τ
t2
Considerando: 0+ < t1 < t2, podemos escribir:
t1
y(t2) – y(t1) =
∫ x(τ) h (t–τ) dτ
I
0
t2
–
∫ x(τ) h (t–τ) dτ
I
0
Como para 0+ < τ < t1 , t2 → hI(t1–τ) = hI(t2–τ) = 1
⇒
t2
⇒
y(t2) – y(t1) =
∫ x(τ) h (t–τ) dτ
I
t1
Si t1 → t2
⇒ y(t2) – y(t1) ≈ t2 – t1 [ x(t1) + x(t2) ]
2
haciendo t1 = nT – T , t2 = nT
⇒ y(nT) – y(nT–T) = ½ T [ x(nT–T) + x(NT) ]
⇒ Y(z) – z–1Y(z) = ½ T [ z–1 X(z) + X(z) ]
Mag. Guillermo Friedrich
- 28 -
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
⇒ Y(z) [ 1 – z–1 ] = ½ T X(z) [ z–1 + 1 ]
⇒ HI(z) = Y(z) = T z–1 + 1 = T z + 1
X(z) 2 1 – z–1
2 z–1
Es decir:
HI (z) = HI (s)
Y en general:
s = 2 (z–1)
T (z+1)
HD(z) = HA(s)
Transformación Bilineal
s = 2 (z–1)
T (z+1)
Ejemplo:
Hallar la función transferencia discreta en el tiempo, partiendo de un
pasabajos analógico con frecuencia de corte igual a 2000 Hz, usando aproximación de
Butterworth con n=3. Considerar T=125 µseg (8000 muestras/seg). Aplicar
transformación Bilineal.
HN (s) =
Si λ =
1
2
(s+1) (s + s + 1)
⇒ HPB(š) =
1
2 π 2000
Aplicando la transformación Bilineal: s = 2 (z–1)
T (z+1)
HD(z) =
λ–3_________
(š+λ–1)(š2 + λ–1š + λ–2)
y luego de realizar los pasos
algebráicos correspondientes, se
llega a la siguiente expresión:
0.112958 (z + 1) (z2 + 2z + 1)______
(z – 0.318993 z + 0.346114) (z – 0,120198)
2
Finalmente, una posible realización de este filtro es la siguiente:
0.112958
x(nT)
⊕
⊕
⊕
T
0.120198
T
0.3118993
–0.346114
Mag. Guillermo Friedrich
⊕
- 29 -
T
2
y(nT)
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
5.3 Realización de un filtro digital
1. Realización Directa
N
Y(z) = H(z) = N(z) = N(z)__
X(z)
D(z) 1 + D'(z)
Donde: N(z) =
∑
ai z–i
i=0
N
D'(z) =
∑
bi 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)
⊕
N(z)
Y(z)
D'(z)
Ejemplo: N(z) = a0 + a1 z–1 + a2 z–2
D'(z) = b1 z–1 + b2 z–2
N(z) ⇒
⊕
X(z)
X(z) N(z)
T
T
a1
a2
D'(z) ⇒
X(z) N(z)
⊕
Y(z)
T
–b1
–b2
Mag. Guillermo Friedrich
- 30 -
T
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
⊕
Filtro completo: X(z)
Y(z)
T
T
a0
T
a1
–b1
a2
–b2
T
2. Realización Directa Canónica
Minimiza la cantidad de retardos: la cantidad de retardos es igual al orden del
filtro.
Y(z) = H(z) = N(z) = N(z)__
X(z)
D(z) 1 + D'(z)
Donde: Y'(z) =
X(z)
1 + D'(z)
Se puede expresar como: Y(z) = N(z) Y'(z)
⇒ Y'(z) = [ 1 + D'(z) ] = X(z)
⇒ Y'(z) = X(z) – Y'(z) D'(z)
X(z)
⊕
Y'(z)
–D'(z)
∴ Y(z) = N(z) Y'(z) →
X(z)
⊕
N(z)
–D'(z)
Volviendo al ejemplo anterior:
Mag. Guillermo Friedrich
- 31 -
Y'(z)
Técnicas Digitales III - UTN - FRBB
X(z)
Procesamiento Digital de Señales
⊕
⊕
–b1
T
T
T
T
–b2
Y(z)
a0
a1
a2
(*) y (**) Como lo que está almacenada en cada par de retardos son los mosmos valores,
el filtro puede quedar finalmente así:
X(z)
⊕
⊕
T
–b1
–b2
T
Y(z)
a0
a1
a2
Solución Canónica
Mag. Guillermo Friedrich
- 32 -
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
5.4 Propiedades de mapeo de la transformación bilineal
La transformación bilineal tiene como objetivo que el filtro digital obtenido tenga la misma
respuesta temporal que el filtro analógico de origen.
Por otra parte, puede haber diferencias entre la respuesta en frecuencia del filtro digital y la del
filtro analógico de origen. Esto es lo que se analiza a continuación.
s = 2 (z–1)
T (z+1)
→
Con s = σ + jω ⇒
z = 2/T + s_
2/T – s
Considerando que
z = r e jθ
(2/T + σ)2 + ω2
(2/T – σ)2 + ω2
r=
θ = arc tg
⇒
si σ > 0
si σ = 0
si σ < 0
⇒
⇒
⇒
r>1
r=1
r<1
z = 2/T + σ + jω
2/T – σ – jω
ω – arc tg –ω___
2/T + σ
2/T + σ
jω
s=j∞
s=0
σ
s=–j∞
La transformación bilineal mapea:
– El semiplano derecho del plano s en la región |z| > 1
– El eje jω en la circunferencia |z| = 1
– El semiplano izquierdo del plano s en la región |z| < 1
Si σ = 0
⇒ r=1
∴ θ = 2 arc tg (ωT / 2)
si ω = 0
si ω → +∞
si ω → –∞
El efecto "warping" (distorsión de frecuencia)
Si ω : frecuencia en el filtro analógico,
y Ω : frecuencia en el filtro digital
HD(ejΩT) = HA(jω)
Del análisis anterior obtuvimos que:
Mag. Guillermo Friedrich
θ = 2 arc tg (ωT / 2)
- 33 -
θ=0
θ → +π
θ → –π
Técnicas Digitales III - UTN - FRBB
Como θ = Ω T
⇒
Procesamiento Digital de Señales
ω = 2 tg( ΩT )
T
2
Si Ω < 0.3
T
: ω≈Ω
Es decir que para que el filtro digital tenga una cierta atenuación a una frecuencia Ω, debe
diseñarse el filtro analógico de origen con la corrección 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 período de muestreo T=125 µseg, el filtro analógico debería calcularse
para una frecuencia de corte de:
ω=
2
tg 2 π 2000 125 x 10–6
–6
125 x 10
2
f = ω = 16000 = 2546,48 Hz
2π
2π
= 16000 rad/seg
f = 2546,48 Hz
Esta corrección se denomina "prewarping".
A continuación se trata de obtener la función transferencia del filtro digital:
HN (s) =
1
2
(s+1) (s + s + 1)
Si λ =
1
2 π 2546,48
⇒ HPB(š) =
Aplicando la transformación Bilineal: s = 2 (z–1)
T (z+1)
HD(z) =
λ–3__________
(š+λ–1)(š2 + λ–1š + λ–2)
y luego de realizar los pasos
algebráicos correspondientes, se
llega a la siguiente expresión:
0.166667 (z + 1) (z2 + 2z + 1) _ = 0.166667 (1 + z–1) (1 + 2 z–1 + z–2 )
z (z2 + 0.333333)
( 1 + 0.333333 z–2 )
Una posible realización de este filtro es la siguiente:
0.166667
x(nT)
⊕
⊕
⊕
⊕
T
y(nT)
T
0
0
T
2
–0.333333
Observación: calculando este mismo filtro con algún programa (por ej.: QED Lite), puede
darse alguna diferencia en los valores de los coeficientes, debido a los errores de redondeo que cometen dichos programas. (por ej.: en lugar de anularse los términos en z–1 del denominador, toman valores muy pequeños).
Mag. Guillermo Friedrich
- 34 -
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
6. La transformada discreta de Fourier (DFT)
Dada una señal x(nT) real, discreta en el tiempo y de duración finita, puede formarse una señal
periódica, con período NT, xp(nT), de la siguiente manera:
∞
xp(nT) =
∑
x(nT + rNT)
r = –∞
xp(nT)
x(nT)
nT
nT
NT
La transformada discreta de Fourier de xp(nT) se define de la siguiente forma:
W = e j2π/N
N–1
Xp(jkΩ) = ∑ xp(nT) W–kn = D xp(nT)
n=0
donde:
Ω = ωs / N
ωs = 2π / T
En general Xp(jkΩ) es complejo, y puede expresarse de la siguiente forma:
Xp(jkΩ) = A(kΩ) e jΦ( kΩ )
donde: A(kΩ) = |Xp(jkΩ)|
espectro de amplitud
Φ(kΩ) = arg Xp(jkΩ) espectro de fase
6.1 Antitransformada discreta de Fourier (IDFT)
xp(nT) se denomina "antitransformada discreta de Fourier" de Xp(jkΩ), y está dada por la
siguiente expresión:
N–1
xp(nT) = 1 ∑ Xp(jkΩ) W kn = D–1 Xp(jkΩ)
N k=0
Demostración:
N–1
1 ∑ Xp(jkΩ) W
N k=0
Mag. Guillermo Friedrich
N–1
kn
= 1 ∑
N k=0
N–1
∑
N–1
xp(mT) W
m=0
- 35 -
–km
W
kn
N–1
= 1 ∑ xp(mT) ∑ W k(n–m)
N m=0
k=0
Técnicas Digitales III - UTN - FRBB
N si m=n
N–1
Como:
Procesamiento Digital de Señales
∑ W k(n–m)
=
k=0
0
N–1
⇒ 1 ∑ Xp(jkΩ) W
N k=0
para ∀ otro caso
N–1
kn
N–1
= 1 ∑ xp(mT) ∑ W k(n–m) = xp(nT)
N m=0
k=0
Ejemplo: calcular la DFT para la siguiente señal:
1
si 2 ≤ n ≤ 6
0
∀ otro n
xp(nT) =
N=10
6
Xp(jkΩ) = ∑ W–kn =
n=2
como W = e j2π/N = e j π/5
W –2k – W –7k
1 – W –k
⇒
serie geométrica de términos finitos
⇒ Xp(jkΩ) = e –j 4π/5 sen (πk/2)_
sen (πk/10)
Los siguientes graficos representan xp(nT) y A(kΩ)
xp(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
gráfico anterior.
k
A(kΩ)
0
5
Mag. Guillermo Friedrich
1
2
3.236 0
3
4
1,236 0
- 36 -
5
1
6
0
7
8
1.236 0
9
3.236
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
6.2 Interrelación entre DFT y transformada Z
La DFT de xp(nT) puede derivarse de la transformada Z, tal como se ve a continuación:
∞
N–1
∞
Xp(jkΩ) = ∑ ∑ x(nT + rNT) W
n=0 r = –∞
–kn
∑
=
N–1
∑
x(nT + rNT) W–kn
r = –∞ n=0
Haciendo n = m – rN obtenemos la siguiente expresión:
∞
rN+N–1
Xp(jkΩ) = ∑
∑ x(mT) W–k (m–rN) =
r = –∞ m=rn
–1
N–1
∑
= .... +
x(mT) W
–km
m=–N
∑
+
2N–1
x(mT) W
–km
m=0
+
∑
x(mT) W–km + ..... =
m=N
∞
Xp(jkΩ) = ∑ x(mT) W–km
m = –∞
Reemplazando W=e j2π/N
y m por n obtenemos la siguiente expresión:
∞
Xp(jkΩ) =
∑
x(nT) e–jk Ω nT = XD (e–jk ΩT )
n = –∞
∴ Xp(jkΩ) = XD (e–jk ΩT )
⇒
XD (z) = ℑ x(nT)
⇒ La DFT de x(nT) es numéricamente igual a la transformada
Z de x(nT) muestreada en el
círculo |z| = 1.
3
Ejemplo:
N=12
⇒
4
2
plano Z
5
1
kΩT
6
0
7
11
8
10
9
Mag. Guillermo Friedrich
- 37 -
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
6.3 Teorema del muestreo en el dominio de la frecuencia
El teorema del muestreo en el dominio de la frecuencia es análogo 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 XD(z) para
la cual:
x(nT) = Z–1 XD(z) = 0
para n ≥ N y para n<0
puede ser determinada a partir de los valores de XD(ejkΩT),
donde Ω = ωs / N.
Asimismo: XD(z) puede obtenerse de la DFT de xp(nT) de acuerdo a lo visto en el punto anterior.
Por lo tanto: Si x(nT)=0 para nT<0 o nT ≥ NT, entonces:
xp(nT) puede obtenerse de x(nT), y
Xp(jkΩ) puede obtenerse de XD(z)
Y, por otra parte, x(nT) y XD(z) pueden obtenerse a partir xp(nT) y Xp(jkΩ) respectivamente.
x(nT) = [ u(nT) – u(nT – NT) ] xp(nT)
N–1
XD(z) = 1 ∑ Xp(jkΩ) 1 – z–N___ ∴ x(nT) puede ser representada por la DFT de xp(nT)
N k=0
1 – W k z–1
⇒ Cualquier señal discreta en el tiempo de duración finita, puede ser procesada
empleando algoritmos de Transformada Rápida 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,
xp(nT) y Xp(jkω) pueden obtenerse a partir de x(nT) y XD(z).
Sin embargo, en este caso x(nT) no podrá ser recuperada a partir de xp(nT) haciendo:
x(nT) = [ u(nT) – u(nT–NT) ] xp(nT)
Esta situación se puede ver en las siguientes figuras:
Mag. Guillermo Friedrich
- 38 -
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
x(nT)
xp(nT)
nT
nT
NT
Asimismo: la expresión de XD(z) en función de Xp(jkΩ) presentada en el punto anterior ya no es
exacta, y en el mejor de los casos la DFT de xp(nT) es una representación
distorsionada de x(nT).
6.5 Interrelación entre la transformada discreta de Fourier (DFT), y la transformada
contínua de Fourier (CFT).
Si : x(t) es contínua en el tiempo, podemos obtener X(jω) : CFT de x(t)
x^(t) es la versión muestreada de x(t), podemos obtener X ^(jω) : CFT de x^(t)
Xp(jkΩ) = XD(ejkΩT) = 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 periódicas
y X(jω) = 0 para |ω| ≥ ωs / 2
∴ xp(nT) = x(nT)
para 0 ≤ nT ≤ (N–1)T
Xp(jkΩ) = 1 X(jkΩ)
T
Por lo tanto: xp(nT)
x(t)
Xp(jkΩ)
Si, por el contrario, x(t) ≠ 0
para |kΩ| < ωs_
2
X(jω)
para t < 0 o para t ≥ NT
xp(nT) ya no es una representación periódica de x(nT), por lo tanto la DFT de xp(nT) no
es una representación 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 versión truncada de x(t)–:
Mag. Guillermo Friedrich
- 39 -
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
w(t) = 0 para t < 0 y para t ≥ NT
x'(t) = w(t) . x(t)
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 representación 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º edición.
El valor de T (= 2π/ωs) debe elegirse de modo tal que la expresión X(jω)=0 ∀ |ω| ≥ ωs/2,
se satisfaga lo mejor posible.
La técnica recién descripta también puede ser usada para obtener la representación
aproximada mediante DFT de señales discretas en el tiempo tales que:
x(nT) ≠ 0 para n < 0 o para n ≥ N
Mag. Guillermo Friedrich
- 40 -
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
7. Algoritmos para el cálculo de la transformada rápida de Fourier (FFT)
Uno de los algoritmos existentes para el cálculo de la transformada rápida de Fourier está
basado en la técnica de decimación en el tiempo.
Partiendo de la transformada discreta de Fourier que se desea obtener:
N–1
∑
X(k) =
donde: WN = e j2π / N
x(n) WN –kn
n=0
Si se considera un valor de N que sea una potencia entera de 2 (N=2r -r entero-),
entonces la sumatoria puede dividirse en dos partes, según que n sea par o impar:
N–1
∑
X(k) =
N–1
x(n) WN
–kn
∑
+
n=0
(n par)
x(n) WN –kn
n=0
(n impar)
Lo anterior se puede expresar de esta otra forma:
N/2–1
X(k) =
∑
N/2–1
x10(n) WN
n=0
–2kn
+ ∑ x11(n) WN –2kn
n=0
donde: x10(n) = x(2n)
x11(n) = x(2n+1)
para 0 ≤ n ≤ N / 2 –1
y como: WN –2kn = WN / 2–kn
N/2–1
⇒ X(k) =
∑
x10(n) WN/2
N/2–1
–kn
+ WN
n=0
∴
X(k) = X10(k) + WN–k X11(k)
–k
∑
x11(n) WN/2 –kn = X10(k) + WN–k X11(k)
n=0

Como X10(k) y X11(k) son periódicas con período N/2:
⇒ X(k+N/2) = X10(k+N/2) + WN–(k+N/2)X11(k+N/2)
∴ X(k+N/2) = X10(k) – WN–k X11(k)
|
Las ecuaciones  y | pueden representarse mediante el siguiente gráfico,
denominado "mariposa"
Mag. Guillermo Friedrich
- 41 -
Técnicas Digitales III - UTN - FRBB
X10(k)
Procesamiento Digital de Señales
X(k)
1
1
±W–k 1
X11(k)
X(k+N/2)
O también se puede utilizar el siguiente diagrama simplificado:
X10(k)
X(k)
k
X11(k)
X(k+N/2)
N/2–1
A su vez: X10(k) =
∑
x(n) WN/2–kn
también puede dividirse en dos sumatorias:
n=0
N/4–1
X10(k) =
∑
N/4–1
x20(n) WN/4
–kn
+ WN
–2k
n=0
∑
x21(n) WN/4 –kn
n=0
donde: x20(n) = x10(2n) y x21(n)=x10(2n+1)
0 ≤ n ≤ N/4–1
Que puede expresarse como:
X10(k) = X20(k) + WN –2k X21(k)
Por su parte, puede hacerse un análisis similar a partir de X11(k), llegando a la
siguiente expresión:
X11(k) = X22(k) + WN –2k X23(k)
donde: x22(n) = x11(2n) y x23(n)=x11(2n+1)
0 ≤ n ≤ N/4–1
Como X20(k) y X21(k) son periódicas con período N/4, se puede repetir el
razonamiento aplicado anteriormente, por lo tanto:
X10(k+N/4) = X20(k) – WN–2k X21(k)
X11(k+N/4) = X22(k) – WN–2k X21(k)
De igual modo a lo realizado hasta aquí, se puede continuar dividiendo las
sumatorias, y en el ciclo m-ésimo tendremos:
Mag. Guillermo Friedrich
- 42 -
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
X(m–1)0(k) = Xm0(k) + WN –2
m–1
k
Xm1(k)
X(m–1)0(k+N/2m) = Xm0(k) – WN –2
X(m–1)1(k) = Xm2(k) + WN –2
m–1
k
m–1
k
Xm1(k)
Xm3(k)
X(m–1)1(k+N/2m) = Xm2(k) – WN –2
m–1
k
Xm3(k)
.....................
donde:
xm0(n) = x(m–1)0(2n)
xm1(n) = x(m–1)0(2n+1)
xm2(n) = x(m–1)1(2n)
xm3(n) = x(m–1)1(2n+1)
........................
Y todo esto es válido para 0 ≤ m ≤ N / 2m–1 . Sin embargo, para el último ciclo, o sea: el
ciclo r-ésimo (N=2r), xr0(n), xr1(n), etc. quedan reducidas a secuencias de un solo
elemento, en cuyo caso tendremos:
Xri(0) = xri(0)
para i = 0, 1,....., N–1
Los valores de la penúltima DFT pueden obtenerse de las siguientes ecuaciones:
X(r–1)0(0) = xr0(k) + WN 0 xr1(0)
X(r–1)0(1) = xr0(k) – WN 0 xr1(0)
X(r–1)1(0) = xr2(k) + WN 0 Xr3(0)
X(r–1)1(1) = xr2(k) – WN –2 xr3(0)
................
Lo último que resta es identificar los elementos xr0(0), xr1(0), .... Esto es sencillo dado
que:
xrp(0) = x(q)
donde: q es la representación binaria con r bits, de p revertido.
Por ejemplo: si r=3 (N=8) , x31(0) será x(4), ya que 1 = 0012 ; efectuando la reversión
de bits queda 1002 = 4.
En definitiva, {xr0(0), xr1(0), ....} es una versión reordenada de la secuencia de muestras
de entrada {x(0), x(1), ....}.
Ejemplo: Construir el algoritmo de FFT por decimación en tiempo para N=8.
Como: x10(n) = x(2n) y x11(n) = x(2n+1)
x10 = { x(0), x(2), x(4), x(6) }
x11 = { x(1), x(3), x(5), x(7) }
Mag. Guillermo Friedrich
- 43 -
para 0 ≤ n ≤ N/2–1
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
Consecuentemente obtenemos los siguientes valores:
x20 = { x(0), x(4) }
x21 = { x(2), x(6) }
x22 = { x(1), x(5) }
x23 = { x(3), x(7) }
Finalmente:
x30 = { x(0) }
x31 = { x(4) }
x32 = { x(2) }
x33 = { x(6) }
x34 = { x(1) }
x35 = { x(5) }
x36 = { x(3) }
x37 = { x(7) }
El algoritmo queda expresado mediante el siguiente diagrama de "mariposas":
X3i(k)
X2i(k)
X1i(k)
X(k)
x(0)
0
0
0
1
1
1
x(4)
0
x(2)
x(6)
0
x(1)
x(5)
0
x(3)
x(7)
0
0
0
1
2
2
2
3
3
0
3
0
4
1
3
1
5
0
0
3
2
6
1
2
3
3
7
Como puede verse, la cantidad de operaciones ("mariposas") que hay que realizar
es igual a N/2 log2N , en lugar de las N2 correspondientes a la DFT. Por ejemplo:
si N=512, la DFT requiere 5122 = 262144 cálculos, mientras que la FFT requiere
de sólo 2304 cálculos (≈ 1%).
Por otra parte, tambien puede verse del gráfico anterior que se la cantidad
memoria necesaria para poder calcular la FFT es igual a 2 N, ya que luego
utilizar un conjunto de valores Xmi(k) como entradas para calcular los valores
X(m–1)i(k) , ya no se necesitan más los valores de Xmi(k), por lo que los lugares
memoria que ocupan podrán ser destinados a los valores de X(m–2)i(k).
Mag. Guillermo Friedrich
- 44 -
de
de
de
de
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
8. Diseño 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 diseñar un filtro digital
recursivo que tenga alta selectividad y al mismo tiempo un retardo de grupo constante. Mediante
la aproximación de Bessel y la transformación 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 diseñar fácilmente para que tengan un retardo
de grupo constante, al mismo tiempo que se puede lograr una gran variedad de respuestas en
frecuencia.
Hay diferentes métodos para resolver la aproximación de filtros no recursivos. El método que se
va a considerar está basado en series de Fourier. Otro método está basado en el uso de la DFT (o
FFT), y otra posibilidad es utilizar el algoritmo de intercambio de Remez. Este último método
permite lograr soluciones óptimas, es decir, un filtro con el mínimo orden posible. La desventaja
del algoritmo de intercambio de Remez es la complejidad y volumen de cálculos necesarios para
efectuar el diseño.
8.1 Propiedades de los filtros no recursivos
¾ Filtros de retardo constante.
Un filtro causal no recursivo puede ser caracterizado mediante la siguiente función
transferencia:
N–1
H(z) =
∑
h(nT) z–ne j 2π / N
n=0
y su respuesta en frecuencia estará dada por:
N–1
jωt
H(e ) = M(ω) e
jθ(ω)
=
∑
h(nT) e– jωnT
‘
n=0
donde:
M(ω) = |H(ejωt)|
y
θ(ω) = arg H(ejωt)
’
Los retardos de fase y de grupo están 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:
Mag. Guillermo Friedrich
- 45 -
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
N–1
∑ h(nT)
n=0
θ(ω) = – τω = arc tg
sen ωnT
_____________
N–1
∑ h(nT)
n=0
Por lo tanto:
cos ωnT
N–1
∑ h(nT)
n=0
tan ωτ = sen ωτ =
cos ωτ
sen ωnT
_____________
N–1
∑ h(nT)
n=0
cos ωnT
Luego, se puede llegar a:
N–1
∑ h(nT) ( cos ωnT
n=0
sen ωτ – sen ωnT cos ωτ ) = 0
Y finalmente, la expresión anterior es equivalente a la siguiente:
N–1
∑ h(nT)
n=0
sen(ωτ – ωnT ) = 0
Puede demostrarse que la solución a esta expresión es:
τ = (N – 1) T
2
y
h(nT) = h[(N–1–n)T ]
para 0 ≤ n ≤ N–1
“
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 simétrica
alrededor del punto medio entre las muestras (N–2)/2 y N/2, para N par, o bien con resepcto a
la muestra (N–1)/2 para N impar. La figura siguiente muestra la simetría requerida para
N=10 y N=11.
1.0
N=10
1.0
h(nT)
h(nT)
nT
nT
n=10
n=10
–1.0
Mag. Guillermo Friedrich
N=11
–1.0
- 46 -
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
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 solución es:
τ = (N – 1) T
2
y
h(nT) = –h[(N–1–n)T ]
para 0 ≤ n ≤ N–1
”
¾ Respuesta en Frecuencia
Las precedentes ecuaciones “ y ” permiten arribar a algunas expresiones sencillas para la
respuesta en frecuencia. Para el caso de respuesta impulsiva simétrica y N impar, la ecuación
‘ puede ser expresada así:
(N–3)/2
H(e
jωT
)=
∑
n=0
N–1
h(nT) e
–jωnT
+ h[ (N–1)T ] e
2
–jω(N–1)T/2
+
∑
h(nT) e–jωnT
n=(N+1)/2
•
Usando la ecuación “ y haciendo N – 1 – n = m, m=n, la última sumatoria en la ecuación
anterior puede ser expresada así:
N–1
∑
N–1
h(nT) e
–jωnT
n=(N+1)/2
=
∑
(N–3)/2
h[(N–1–n)T] e
–jωnT
n=(N+1)/2
=
∑
n=0
h(nT) e–jω(N–1– n)T
–
Por lo tanto, de • y – podemos llegar a la siguiente expresión de la respuesta en frecuencia:
(N–3)/2
H(e
jωT
)= e
–jω(N–1)T/2
h { [ (N–1)T ] +
2
∑
n=0
2h(nT) cos[ω (N–1 – n) T ] }
2
Por último, si hacemos (N–1)/2 – n = k, llegamos a:
(N–1)/2
H(e
jωT
)= e
–jω(N–1)T/2
∑
k=0
ak cos(ω k T )
donde: a0 = h[(N–1)T]
2
ak = 2 h[(N–1 – k) T ]
2
—
˜
De igual manera se pueden considerar el caso de respuesta impulsiva simétrica con N par y
para los dos casos de respuesta antisimétrica. La siguiente tabla resume las expresiones de la
respuesta en frecuencia para los cuatro casos posibles.
Mag. Guillermo Friedrich
- 47 -
Técnicas Digitales III - UTN - FRBB
h(nT)
Procesamiento Digital de Señales
H(ejωT)
N
(N–1)/2
Simétrica
Impar
∑
e
–jω(N–1)T/2
e
–jω(N–1)T/2
e
–j[ω(N–1)T/2 – π/2]
e
–j[ω(N–1)T/2 – π/2]
k=0
ak cos(ω k T )
N/2
Par
∑
k=1
bk cos[ω(k–½) T ]
(N–1)/2
Antisimétrica
Impar
∑
k=0
ak sen(ω k T )
N/2
Par
donde: a0 = h[(N–1)T]
2
∑
k=1
ak = 2h[(N–1 – k) T]
2
bk sen[ω(k–½) T ]
bk = 2h[( N – k) T]
2
¾ Ubicación de los Ceros
Las condiciones impuestas a la respuesta impulsiva por las ecuaciones “ y ”, imponen
ciertas restricciones a los ceros de H(z). Para N impar tenemos:
(N–3)/2
H(z) =
1
z
(N–1)/2
∑
n=0
h(nT) ( z(N–1)/2–n ± z–[ (N–1)/2–n] ) + ½ h[ (N–1)T ] ( z0 ± z0 )
2
Donde: el signo negativo se aplica al caso de
respuesta impulsiva antisimétrica.
Considerando (N–1)/2 – n = k , podemos escribir la expresión anterior de la siguiente forma:
(N–1)/2
H(z) = N(z) =
1
(N–1)/2
D(z)
z
∑
n=0
½ ak ( zk ± z–k )
Los ceros de H(z) son las raices de N(z), dado por:
(N–1)/2
N(z) =
∑
k=0
ak ( zk ± z–k )
Si z es reemplazada por z–1, tenemos:
Mag. Guillermo Friedrich
- 48 -
Donde: a0 y ak están dados por
las ecuaciones — y ˜.
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
(N–1)/2
–1
N(z ) =
∑
k=0
(N–1)/2
ak ( z
–k
k
± z )= ±
∑
k=0
ak ( zk ± z–k ) = ± N(z)
La misma relación se puede obtener para N par, y por lo tanto, si zi=ri ejψi es un cero de
H(z), entonces zi–1= ejψi también será un cero de H(z).
ri
Esto tiene las siguientes consecuencias sobre la ubicación de los ceros:
– Puede haber un número arbitrario de ceros ubicados en zi = ±1, ya que zi–1 = ±1.
– Puede haber un número arbitrario de pares complejos conjugados de ceros ubicados en
el círculo unidad, debido a que:
(z–zi)(z–zi*) = (z – ejψi)(z – e–jψi) = (z – 1 )(z – 1 )
z i*
zi
– Los ceros reales fuera del círculo unidad deben ocurrir en pares recíprocos.
– Los ceros complejos fuera del círculo unidad deben ocurrir en grupos de cuatro, es
decir: zi, zi*, y sus recíprocos: 1/zi* y 1/zi.
La siguiente figura muestra un hipotético diagrama de polos y ceros para un filtro no
recursivo con retardo constante de fase.
z3
1/z5*
z5
Plano z
z4
z2
z3 *
z1 1/z4
z5 *
1/z5
8.2 Diseño de filtros no recursivos usando Series de Fourier.
Como la respuesta en frecuencia de un filtro no recursivo es una función periódica de ω
con período ωs, puede ser expresada como una serie de Fourier. Podemos escribir:
∞
H(e
jωT
)=
Mag. Guillermo Friedrich
∑
n=–∞
ωs/2
h(nT) e
–jωnT
Donde: h(nT) = 1
ωs
- 49 -
∫ H(ejωT) ejωnT dω
–ωs/2
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
Si consideramos z = ejωT obtenemos:
∞
H(z) =
∑
n=–∞
h(nT) z–n
De la expresión analítica de la respuesta en frecuencia es fácil llegar a una expresión de la
función transferencia. Sin embargo, esta función 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 expresión:
(N–1)/2
H(z) = h(0) +
∑
n=1
[h(–nT) zn + h(nT) z–n]
La causalidad puede lograrse multiplicando H(z) por z–(N–1)/2 , de modo tal que:
H'(z) = z–(N–1)/2 H(z)
Esta modificación es posible debido a que la respuesta en amplitud no se ve afectada, y el
retardo de grupo es incrementado en un valor constante (N–1)T / 2.
Cabe destacar que si H(ejωT) es una función par de ω, entonces la respuesta al impulso es
simétrica alrededor de n=0, y el filtro tiene retardo de grupo 0. En consecuencia, el filtro
no causal representado por la ecuación anterior tiene retardo de grupo (N–1)T / 2.
Ejemplo
Diseñar un filtro pasabajos no recursivo con la siguiente respuesta en frecuencia:
H(e
jωT
1 para |ω| ≤ ωc
)≈
0 para ωc < |ω| ≤ ωs / 2
Donde ωs: frecuencia
de muestreo
Solución:
ωc
h(nT) = 1
ωs
∫ ejωnT dω =
–ωc
1 sen(ωcnT)
nπ
Luego:
(N–1)/2
H(z) = z
–(N–1)/2
∑
an
n=0 2
[zn + z–n]
Donde: a0 = h(0)
an = 2 h(nT)
Si consideramos los siguientes valores: N=7, ωc=2 rad/s y ωs=10 rad/s, la
función transferencia del filtro sería:
Mag. Guillermo Friedrich
- 50 -
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
3
H(z) = z
–3
H(z) = z
–3
[ h(0) + ∑
n=1
h(nT) (zn + z–n) ]
3
[ 0.4 + ∑
n=1
1 sen(2nπ) (zn + z–n) ]
nπ
5
Y finalmente obtenemos la siguiente función 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 también 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.
N=11
N=21
N=31
Una forma rudimentaria de evitar las discontinuidades en la respuesta en
frecuencia puede ser introducir una banda de transición. Por ejemplo, el
pasabajos considerado en el ejemplo anterior podría ser redefinido así:
Mag. Guillermo Friedrich
- 51 -
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
H(ejωT) ≈
1
para |ω| ≤ ωp
– (ω – ωa) / (ωa – ωp)
para ωp < |ω| < ωa
0
para ωa < |ω| ≤ ωs /2
8.3 Uso de funciones de ventana.
Una técnica alternativa y de fácil aplicación 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=–∞
∞
Hw(z) = Z[w(nT) h(nT)] = ∑ h(nT) z–n
n=–∞
Donde w(nT) representa una función de ventana. El uso de la convolución compleja nos
lleva a:
Hw(z) =
∫
1
H(v) W(z/v) v–1 dv
2πj Γ
Donde Γ : contorno en la la región
común de convergencia de
H(v) y W(z/v).
Con v = ejΩT y z = ejωT , y tanto H(v) como W(z/v) convergentes en el círculo unidad del
plano v, la ecuación anterior puede escribirse así:
2π/T
Hw(e
jωT
)= T
2π
∫ H(e
jΩT
) W(ej(ω–Ω)T) dΩ
0
Si a los fines de esta explicación consideramos:
H(ejΩT) =
1
para 0 ≤ |Ω| ≤ ωc
0
para ωc < |Ω| ≤ ωs/2
1
–π/T –ωc
Mag. Guillermo Friedrich
- 52 -
H(ejΩT)
ωc π/T
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
Si asimismo se considera que W(ejΩT) es real y tiene la forma dada en la siguiente figura,
y se asume que W(ejΩT) = 0, para ωm < |Ω| ≤ ωs/2.
W(ejΩT)
–π/T
ωm
–ωm
π/T
Esto representa un diagrama espectral ideal para una función de ventana –más adelante se
verá el espectro real–.
Se puede demostrar que con W(ejΩT) tal como la anterior, la gráfica de Hw(ejΩT) adoptaría
una forma parecida a la siguiente:
Hw(ejωT)
–π/T
ωm
–ωm
π/T
Si H(z) representa un filtro de retardo constante y se desea que Hw(z) también 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| > (N–1)/2
¾ Para N impar, w(nT) debe ser simétrica alrededor de n=0.
La siguiente figura muestra una típica función de ventana:
1.0
w(nT)
N=11
nT
En la práctica, el espectro de una función de ventana w(nT) se aparta del espectro ideal
visto más arriba, y adopta una forma como la que se ve en la próxima figura. la amplitud
del lóbulo principal está dada por kωs/N, donde k es una constante.
Mag. Guillermo Friedrich
- 53 -
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
W(ejωT)
ω
–kωs / 2N
kωs / 2N
El efecto que tienen los lóbulos 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 pequeño, y la atenuación en la banda de rechazo sea grande, el área
encerrada por los lóbulos laterales debe ser una pequeña fracción del área encerrada por
el lóbulo principal.
Por otra parte, la amplitud del lóbulo principal determina la amplitud de la banda de
transición 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 pequeño.
Las funciones de ventana más frecuentemente usadas son:
– Rectangular
– von Hann (o Hanning)
– Hamming
– Blackman
– Dolph-Chebyshev
– Kaiser
8.3.1 Ventana Rectangular.
La ventana rectangular está dada por:
wR(NT) =
1
para |n| ≤ (N – 1) / 2
0
para otros valores de |n|
El espectro de wR(NT) puede calcularse de la siguiente forma:
(N–1)/2
WR(e
Mag. Guillermo Friedrich
jωT
)=
∑
e–jωnT = sen (ωNT / 2)
n=–(N–1)/2
sen (ωT / 2)
- 54 -
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
El ancho del lóbulo principal es igual a 2ωs/N.
Puede calcularse una relación de ripple, r, que nos da una idea de la amplitud que
tendrán las oscilaciones debidas al efecto Gibbs:
r = máxima amplitud de un lóbulo lateral . 100 %
amplitud del lóbulo 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 están dadas por:
α + (1–α) cos(2πn / (N–1))
wH(nT) =
0
para |n| ≤ (N–1) / 2
para los demás casos
α = 0.5
α = 0.54
(von Hann)
(Hamming)
Puede observarse que los lóbulos laterales de estas ventanas son más 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:
von Hann
Hamming
N=11
2.62
1.47
N=101
2.67
0.74
El ancho del lóbulo 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
expresión:
0.42 + 0.5 cos(2πn/(N–1)) + 0.08 cos(4πn/(N–1))) para |n| ≤ (N–1)/2
wB(nT) =
0
en los demás casos.
El término coseno adicional produce una reducción 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 lóbulo principal se ve incrementado a 6 ωs / N.
Mag. Guillermo Friedrich
- 55 -
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
8.3.4 Ventana de Dolph-Chebyshev.
Como pudo observarse, las ventanas anteriores dan lugar a un ripple que es
prácticamente independiente del valor de N, y por lo tanto la aplicación de tales
ventanas es limitada.
Una ventana más versátil es la de Dolph-Chebyshev, y está dada por la siguiente
fórmula:
(N–1)/2
wDC(nT) = 1 1 + 2 ∑ TN–1 x0 cos(iπ/N) cos(2nπ i/N)
i=1
N r
para:
n = 0, 1, 2, ..., (N–1)/2
donde: r : relación de ripple deseada (expresada como fracción)
x0 = cosh( 1/(N–1) cosh–1(1/r) )
Tk(x) : k-ésimo polinomio de Chebyshev asociado con la
aproximación para filtros recursivos, y dado por:
cos(k cos–1 x) para |x| ≤ 1
Tk(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 lóbulo
principal.
Dos propiedades interesantes de la ventana de Dolph-Chebyshev son las
siguientes:
– Para un dado valor de N, el ancho del lóbulo principal es el menor que podría
obtenerse para una relación de ripple dada. Esto implica que usando esta
ventana se obtienen filtros con una banda de transición muy estrecha.
– Todos los lóbulos laterales tienen la misma amplitud. Esto implica que el error
de aproximación tiende a distribuirse uniformemente con respecto a la
frecuencia.
8.3.5 Ventana de Kaiser.
La ventana de Kaiser, al igual que la anterior, también permite controlar
independientemente la relación de ripple y el ancho del lóbulo principal. La
ventana de Kaiser está dada por:
wK(nT) =
Mag. Guillermo Friedrich
I0(β)
I0(α)
para |n| ≤ (N–1)/2
0
en los demás casos
- 56 -
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
α es un parámetro independiente
Donde:
β=α
1 – (2n / (N–1) )2
∞
I0(x) = 1 + ∑ 1 x
k=1
k! 2
k 2
es la función de
Bessel
modificada de
orden cero del
primer tipo.
El espectro de wK(nT) está dado por:
(N–1)/2
WK(e
jωT
) = wK(0) + 2
∑ wK(nT)
n=1
cos(ωnT)
La ventana de Kaiser para tiempo contínuo es:
wK(t) =
I0(β)
I0(α)
para |t| ≤ τ
0
en los demás casos
Donde:
β=α
1 – ( t / τ )2
α = (N – 1) T
2
El espectro de wK(t) puede demostrarse que está dado por:
WK(jω) =
2
I0(α)
sen (τ ω2 – ωa2 )
ω2 – ωa2
™
Donde: ωa = α / τ
∧
Si WK(jω) ≈ 0 para |ω| ≥ ωs / 2, el espectro de la señal muestreada wK(t), o equivalentemente el espectro de wK(nT) puede expresarse así:
∧
WK(jω) = WK(ejωT) ≈ (1/T) WK(jω)
para 0 ≤ |ω| ≤ ωs / 2
š
De las anteriores expresiones ™ y † puede obtenerse la siguiente expresión aproximada
para WK(ejωT):
WK(ejω) =
N – 1 sen(α (ω/ωa)2 – 1 )
α I0(α)
(ω/ωa)2 – 1
Para un dado valor de N, el valor de α tiene influencia sobre la relación de ripple y el
ancho del lóbulo principal. La relación de ripple disminuye con el aumento de α,
Mag. Guillermo Friedrich
- 57 -
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
mientras que el ancho del lóbulo principal aumenta al aumentar α.
Una característica muy importante de la ventana de Kaiser es que a partir de las
expresiones recién consideradas existen algunas fórmulas empíricas para determinar los
valores de α y N que permiten cumplir con las especificaciones para un filtro dado. Esto
se verá a continuación.
8.3.5.1 Un método de diseño de filtros FIR basado en la ventana de Kaiser.
Consideremos el diseño de un pasabajos, cuya respuesta en frecuencia está representada
en el siguiente gráfico:
Ganancia
1+δ
1
1–δ
δ
ωp ω ωa
½ ωs
ω
¾ El ripple en la banda de paso, en dB, está dado por: Ap = 20 log ((1+δ) / (1–δ))
¾ La mínima atenuación en la banda de rechazo es: Aa = –20 log δ
¾ El ancho de la banda de transición es: Bt = ωa – ωp
Para obtener los coeficientes de un filtro cuyo ripple en la banda de paso sea igual o
menor a A'p , su atenuación en la banda de rechazo sea mayor o igual a A'a, y cuya banda
de transición sea Bt, se pueden seguir los pasos siguientes:
(1) Determinar h(nT) usando la aproximación por series de Fourier vista en 8.2,
asumiendo una respuesta en frecuencia ideal, es decir:
H(ejωT) =
1
para |ω| ≤ ωc
0
para ωc < |ω| ≤ ½ ωs
Donde : ωc = ½ (ωp + ωa)
(2) Seleccionar un valor de δ tal que Ap ≤ A'p y Aa ≥ A'a.
Un valor adecuado es δ = mín(δ1, δ2)
Mag. Guillermo Friedrich
- 58 -
donde:
δ1 = 10–0,05 A'a
δ2 = 100,05 A'p – 1
100,05 A'p + 1
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
(3) Calcular Aa = –20 log δ
(4) Seleccionar el parámetro α según el siguiente criterio:
α=
0
0.5842(Aa – 21)0,4 + 0.07886(Aa – 21)
0.1102(Aa – 8.7)
para Aa ≤ 21
para 21 < Aa ≤ 50
para Aa > 50
(5) Elegir el parámetro D según el siguiente criterio:
0.9222
para Aa ≤ 21
(Aa – 7.95) / 14.36
para Aa > 21
D=
(6) Adoptar el mínimo valor impar de N que satisfaga la siguiente desigualdad:
N ≥ ωs D + 1
Bt
(7) Formar wK(nT) según lo descripto en 8.3.5
(8) Formar
Donde: Hw(z) = Z
H'w(z) = z–(N–1)/2 Hw(z)
[ wk(nT) h(nT) ]
Ejemplo:
Diseñar un pasabajos FIR con las siguientes especificaciones:
– Máximo ripple en la banda de paso, entre 0 y 1.5 rad/s : 0.1 dB
– Mínima atenuación 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) =
Donde: ωc = ½ (1.5 + 2.5) = 2.0 rad/s
(2)
1 sen(ωc nT)
nπ
δ1 = 10–0,05(40) = 0.01
δ2 = 10–0,05(0,1) – 1 = 5.7564 x 10–3
10–0,05(0,1) + 1
Por lo tanto: δ = 5.7564 x 10–3
(3)
Aa = –20 log δ = –20 log(5.7564 x 10–3) = 44.797 dB
(4)
α = 0.5842(Aa – 21)0,4 + 0.07886(Aa – 21) = 3.9524
(5)
D = (Aa – 7.95) / 14.36 = 2.566
(6)
N ≥ ωs D + 1 = ( 10 2.566 ) + 1 = 26.66 = 27
Bt
(2.5 – 1.5)
Mag. Guillermo Friedrich
- 59 -
N=27
Técnicas Digitales III - UTN - FRBB
(7)
Procesamiento Digital de Señales
Debido a la simetría de los coeficientes del filtro, sólo es necesario
calcular los mismos para n entre 0 y 13.
El siguiente programa escrito en lenguaje C implementa el procedimiento de cálculo
recién descripto, y da como resultado el orden del filtro y el listado de coeficientes del
filtro: h[n]*w[n]. Con algunas mínimas modificaciones este programa podría servir para
calcular filtros con distintas especificaciones.
//------------------------------------------------------------------------------// 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
//-------------------------------------------------------------------------------
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 término n-ésimo de la serie de
// Fourier: h[n]
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
if( n==0 )
h[n] = 2*wc/Ws;
else
float Io( float x );
long fact( long n );
h[n] = sin(2*n*M_PI*wc/Ws) / (n*M_PI);
// calcula el término n-ésimo de la ventana: w[n]
// Datos --> deben cambiarse para especificar otro filtro.
w[n] = Io(b)/Io(a);
#define Ws 10.0 // frecuencia de muestreo, en rad/s
#define Wp 1.5 // frecuencia límite de la banda de paso, en rad/s
#define Wa 2.5 // frecuencia límite de la banda de rechazo, en rad/s
#define Ap 0.1 // máx ripple en la banda de paso, en dB
#define Aa 40.0 // mín atenuacion en la banda de rechazo, en dB
// 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();
void main()
{
int k, n, N;
float a, b, d, d1, d2, D, A_a, wc=(Wp+Wa)/2;
float h[64], w[64];
}
//-----------------------------------------------------------------// Calcula Io(x), la función modificada de Bessel
// de orden cero, del primer tipo
//------------------------------------------------------------------
clrscr();
d1 = pow(10, -0.05*Aa);
d2 = (pow(10, 0.05*Ap) - 1) / (pow(10, 0.05*Ap) + 1);
d = min(d1,d2);
float Io( float x )
{
int k;
float I;
// calcula la atenuación real en la banda de rechazo
// Como la serie converge r pido, suma sólo 10 términos
for(I=1.0,k=1; k<=10; k++)
{
I += pow( pow(x/2.0,k)/fact(k), 2 );
}
return I;
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 factorial de n
//----------------------------------long fact( long n )
{
long x = 1;
while( n )
// calcula el orden del filtro
N = (int) ceil(10 * D / (Wa-Wp) + 1);
if( N%2 == 0 )
N++;
x *= n--;
return x;
}
Los resultados obtenidos de la ejecución de este programa son los que se ven a
Mag. Guillermo Friedrich
- 60 -
Técnicas Digitales III - UTN - FRBB
Procesamiento Digital de Señales
continuación:
Orden del
wk( 0T) =
wk( 1T) =
wk( 2T) =
wk( 3T) =
wk( 4T) =
wk( 5T) =
wk( 6T) =
wk( 7T) =
wk( 8T) =
wk( 9T) =
wk(10T) =
wk(11T) =
wk(12T) =
wk(13T) =
Mag. Guillermo Friedrich
filtro:
1.000000
0.989963
0.960309
0.912385
0.848347
0.771029
0.683782
0.590272
0.494279
0.399484
0.309270
0.226556
0.153657
0.092193
N = 27
h( 0T)
h( 1T)
h( 2T)
h( 3T)
h( 4T)
h( 5T)
h( 6T)
h( 7T)
h( 8T)
h( 9T)
h(10T)
h(11T)
h(12T)
h(13T)
=
=
=
=
=
=
=
=
=
=
=
=
=
=
0.400000
0.302731
0.093549
-0.062366
-0.075683
-0.000000
0.050455
0.026728
-0.023387
-0.033637
-0.000000
0.027521
0.015591
-0.014392
- 61 -
h( 0T)wk( 0T)
h( 1T)wk( 1T)
h( 2T)wk( 2T)
h( 3T)wk( 3T)
h( 4T)wk( 4T)
h( 5T)wk( 5T)
h( 6T)wk( 6T)
h( 7T)wk( 7T)
h( 8T)wk( 8T)
h( 9T)wk( 9T)
h(10T)wk(10T)
h(11T)wk(11T)
h(12T)wk(12T)
h(13T)wk(13T)
=
=
=
=
=
=
=
=
=
=
=
=
=
=
0.400000
0.299692
0.089836
-0.056902
-0.064205
-0.000000
0.034500
0.015777
-0.011560
-0.013437
-0.000000
0.006235
0.002396
-0.001327
Técnicas Digitales III - UTN - FRBB
Mag. Guillermo Friedrich
Procesamiento Digital de Señales
- 62 -
Descargar