Apunte Filtros Digitales

66
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

Transcript of Apunte Filtros Digitales

Page 1: Apunte Filtros Digitales

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

Page 2: Apunte Filtros Digitales
Page 3: Apunte Filtros Digitales

Indice

Introducción ......................................................................................................... 1

1. Filtros Digitales ............................................................................................... 11.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 ........................................ 52.1 Sumatoria de Convolución .................................................................. 8

2.2 Estabilidad ........................................................................................... 9

3. La transformada Z .......................................................................................... 113.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 ............................................................ 234.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 ............................................................. 275.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

Page 4: Apunte Filtros Digitales

6. La transformada discreta de Fourier (DFT) ................................................ 356.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) ............................................................ 458.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º edi-

ción., McGraw-Hill.

Oppenheim, Schafer & Buck, "Tratamiento de Señales en Tiempo Discreto",

2º edición, Prentice-Hall.

Page 5: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 1 -

Filtro Digital

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ñalesy de la información que contienen. Por ejemplo, podríamos desear separar dos o más señalesque se han combinado de alguna forma, o podríamos querer realzar alguna componente de laseñal o algún parámetro de un modelo de señal. Este procesamiento se puede realizar medianteteconología analógica en tiempo contínuo, o como se ha ido difundiendo cada vez más medianteprocesamiento 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 finde ser procesadas mediante algún algoritmo. Luego, de ser necesario serán vueltas a convertir enseñ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 procesamientodigital 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 obtenerotra señal: es el caso del filtrado digital.Otra buena parte del procesamiento de señales comprende la interpretación de señales. En estecaso no se intenta obtener una señal de salida, sino una caracterización de la señal de entrada. Unejemplo 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 excitación del filtro- e y(nT) es la respuesta del filtro ante laexcitación x(nT).

El análisis de un filtro digital es el proceso de determinar la respuesta de un filtro ante una dadaexcitación. El diseño de un filtro digital es el proceso de sintetizar e implementar un filtro digitalde 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: x(nT) = y(nT) = 0 ∀ n < 0,

Page 6: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 2 -

un filtro digital es invariante en el tiempo si, para cualquier posible excitación, se cumpleque:

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 Invariantey(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 devalores posteriores de la excitación.

Es decir: para un par de excitaciones tales que: x1(nT) = x2(nT) ∀ n ≤ k yx1(nT) ≠ x2(nT) ∀ n > k

Si el filtro es causal se debe cumplir que: R x1(nT) = R x2(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 x1(kT – 2T) + 3 x1(kT + 2T) =

= 3 x1( (k–2)T ) + 3 x1( (k+2)T ) son distintos ⇒

R x2(kT) = 3 x2( (k–2)T ) + 3 x2( (k+2)T ) ⇒ 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: x1(nT – 2T) = x2(nT – 2T) ∀ n ≤ k

Page 7: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 3 -

⇒ R x1(nT) = R x2(nT) ∀ 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", ytambié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: a–1 = a–2 = .... = 0, por lo tanto:

Page 8: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 4 -

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) Donde N: orden del filtro i = 0

Esta expresión indica que el valor de salida actual de un filtro FIR es función de la entrada actualy de las N entradas anteriores.

1.2.2 Filtros Recursivos

Los filtros digitales recursivos también se denominan "de Respuesta Infinita al Impulso", ytambién se los identifica con la sigla IIR (Infinite Impulse Response). La respuesta de un filtroIIR 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 secombinan los siguientes elementos básicos:

Retardo unitario: x(nT) T y(nT) y(nT) = x(nT – T)

Sumador: x1(nT) k

y(nT) = ∑ xi (nT) i=1 xk(nT)

Page 9: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

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. 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 leaplica una secuencia determinada. Para ello se utilizan una serie de funciones elementales, quegeneran 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 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 correspondienteecuació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)

Page 10: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 6 -

Partiendo del reposo: y(0) = 1 + eα y( – T) = 1y(T) = 0 + eα y(0) = eα

y(2T) = 0 + eα y(T) = e2α

.......y(nT) = en α

Las siguientes gráficas representan la respuesta temporal del filtro en función 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 expresión:

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 y1(nT) – 1 y2(nT) 2j 2jAhora 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) = 1y1(T) = ej ωT + eα y1(0) = eα + ej ωT

y1(2T) = ej 2ωT + eα y1(T) = e2α + eα + j ωT + e j 2ωT

.......y1(nT) = en α + e(n–1)α + j ωT + .......+ e j ωnT

n

y1(nT) = e j ωnT ∑ ek ( α – j ωT)

k=0

Como esta expresión corresponde a una serie geométrica, puede demostrarse que :

Page 11: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 7 -

e j ωnT – e ((n+1) α – j ωT)

y1(nT) = 1 – e ( α – j ωT)

e j ωT 1Si ahora consideramos la función: H(e j ωT) = = = M(ω) e jθ(ω)

e j ωT – e α 1 – e ( α – j ωT)

1donde: M(ω) = H(e j ωT) = 1 + e2α – 2 e α cos(ωT)

y: θ(ω) = 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)α + j( θ(–ω) + ω T)

Como M(–ω) = M(ω) y θ(–ω) = – θ(ω) se puede llegar a:

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) : respuesta en frecuenciaM(ω) : respuesta en amplitudθ(ω) : respuesta en fase

x(nT) y(nT) 1- M(ω) -

nT nT

–1 -

Page 12: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 8 -

2.1 Sumatoria de Convolución

La respuesta de un filtro digital a una excitación arbitraria puede ser expresada en términos de larespuesta del filtro a una entrada impulsiva. Para ello se debe realizar la convolución entre laseñal de entrada y la respuesta impulsiva.

Una señal de entrada x(nT) puede ser expresada de la siguiente forma:

∞ x(kT) si n=k

x(nT) = ∑ xk (nT) donde: xk(nT) = k=–∞ 0 si n≠k

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 eltiempo, 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 además se considera que: x(nT) = 0 ∀ n < 0, la respuesta del filtro digital quedaexpresada mediante la siguiente sumatoria de convolución:

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 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:

Page 13: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 9 -

1 para 0 ≤ n ≤ 4x(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ásicasque 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 n 1 – e(n+1) α

y(nT) = ∑ ekα u(nT – kT) = ∑ ekα = 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(n–4)α

n–5 n–5 1 – eα n ≥ 5

R u(nT – 5T) = R u( (n–5)T ) = ∑ ekα u( (n–5)T – kT ) = ∑ ekα = k=0 k=0 0 n < 5

Finalmente, reuniendo ambos resultados en una sola expesión, llegamos a:

1 – e(n+1) α 0 ≤ n ≤ 4 1 – e α

y(nT) = R u(nT) – R u(nT – 5T) = e(n–4) α – e(n+1) α n ≥ 5 1 – e α

2.2 Estabilidad

Un filtro digital es estable si para cualquier excitación acotada se obtiene una salida acotada, esdecir:

y(nT) < ∞ ∀ n para x(nT) < ∞ ∀ n

Vamos a tratar de encontrar la forma de determinar si un filtro es estable:

Page 14: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 10 -

∞ y(nT) ≤ ∑ h(kT) . x(nT – kT) → El módulo de una suma es menor o igual

k=–∞ 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: < 1 Es decir, si: e α < 1 e kα

Por lo tanto, la condición de estabilidad es: α < 0

Page 15: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 11 -

3. La transformada Z

La transformada Z se utiliza para el análisis de filtros digitales lineales e invariantes en eltiempo. Transforma ecuaciones de diferencias en expresiones algebraicas, lo que simplifica loscálculos.

Definición: ∞F(z) = ∑ f(nT) z –n Para cualquier z, tal que F(z) converge.

n=-∞ z : variable compleja z = x + j yNotació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 únicassingularidades 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 x II I 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 Z g(nT) = G(z), entonces:

Page 16: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 12 -

Z [ a f(nT) + b g(nT) ] = a F(z) + b G(z)

c) TranslaciónZ 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

f) Convolución 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 análoga a la transformada de Laplace, la transformada Z unilateral es definida así:

∞F(z) = ∑ f(nT) z –n = ZI f(nT)

n=0

Z ≠ ZI 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) Z δ(nT) = δ(0) + δ(T) z–1 + δ(2T) z–2 + .......... = 1 1 zb) Z u(nT) = u(0) + u(T) z–1 + u(2T) z–2 + .......... = 1 + z–1 + z–2 + ........ = = 1 – z–1 z – 1

Kc) Z u(nT –T) K = K z–1 Z u(nT) = (aplicando la propiedad de translación) 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)

Page 17: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 13 -

ze) 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 (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 transformadaZ, entonces es posible obtener f(nT) de la siguiente manera:

f(nt) = 1 ∫ F(z) zn–1 dz = Z–1 F(z) 2πj Γ

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: f(nT) = ∑ res z=pi [Fo(z)]

La notación 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 (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

Page 18: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

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 Fo(z) = F(z) zn–1 = zn–1 _ 2 (z–1) (z + 0.5) 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 → Es apta para F(z) con un solo polo.

z – w

Page 19: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 15 -

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í:

k

Z–1 F(z) = ∑ Z–1

Fi (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 cuyasantitransformadas sean conocidas, mediante convolución se puede hallar laantitransformada 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)

Page 20: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 16 -

Convolución Compleja

La convolución compleja permite encontrar la transformada Z del producto de dosfunciones 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) vn–1 dv 2πj Γ1

Por lo tanto: Y(z) = ∑ f(nT) 1 ∫ G(v) vn–1 dv z–n = n=–∞ 2πj Γ1

Y(z) = 1 ∫ ∑ f(nT) vn–1 z–n G(v) v–1 dv = 2πj Γ1 n=–∞

Y(z) = 1 ∫ F(z/v) G(v) v–1 dv = 1 ∫ F(z) G(z/v) v–1 dv = 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 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 – ejωT) (z – e–jωT)

⇒ F(z/v) = z/v = – z G(v) = v sen ωT________ z/v – e–αT v – z e–αT (v – ejωT) (v – e–jωT)

⇒ Y(z) = 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

Γ2

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

Page 21: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 17 -

3.5 Aplicación de la transformada Z

Usando la transformada Z, un filtro digital puede ser caracterizado mediante una funcióntransferencia discreta en el tiempo, que juega el mismo rol que la función transferencia contínuaen el tiempo para un filtro analógico.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 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 N

Z y(nT) = ∑ ai z–i Z x(nT) – ∑ bi z

–i Z y(nT) i = 0 i = 1

N N

⇒ Y(z) = X(z) ∑ ai z–i – Y(z) ∑ bi z

–i

i = 0 i = 1

N N

⇒ Y(z) 1 + ∑ bi z–i = X(z) ∑ ai z

–i Como H(z) = Y(z) ⇒ i = 0 i = 1 X(z)

N N

∑ ai z–i Ho Π ( z – zi )

i=0 i=0

⇒ H(z) = Y(z) = = .... factoreando ...= N N

1 + ∑ bi z–i Π ( z – pi )

i=1 i=1

Donde: zi son los ceros y pi son los polos

Page 22: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 18 -

Ejemplo: Hallar la función transferencia discreta del siguiente filtro:

U(z) X(z) Y(z)

½

–¼

Los tres elementos básicos son:

sumador: y(nT) = ∑ xi(nT)

xi(nT) y(nT) ∴ Y(z) = ∑ Xi(z)

multiplicador: y(nT) = m x(nT) m xi(nT) y(nT) ∴ Y(z) = m Xi(z)

retardo: y(nT) = x(nT – T) x(nT) y(nT) ∴ Y(z) = z–1 Xi(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: p1 = ¼ + j √3_ 1 x z2 – ½ z + ¼ 4

p2 = ¼ – j √3_ x 4

Como p1< 1 y p2< 1 ⇒ El filtro es estable

T

T

T

Page 23: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 19 -

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) Donde: D(z) = ∑ bi z N – i ( se asume b0 > 0 ) D(z) i=0

Y se construye un arreglo como el siguiente:

Fila Coeficientes12

b0 b1 b2 b3 b4 ........ bN

bN bN–1 bN–2 ........ b0

34

c0 c1 c2 c3 c4 ........ cN

cN cN–1 cN–2 ........ c0

56

d0 d1 d2 d3 d4 ........ dN

dN dN–1 dN–2 ........ d0

: :2N–3 r0 r1 r2

Donde: b0 bN–1

ci = ∀ i ∈ [0, N–1] bN bi

c0 cN–1

di = ∀ i ∈ [0, N–2] cN ci

ei y subsiguientes se calculan de manera análoga.

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: 1 4 3 2 1 1H(z) = z4__________ 2 1 1 2 3 4 4z4 + 3z3 + 2z2 + z + 1

3 15 11 6 14 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) r0=224 > r2=79 √

Page 24: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 20 -

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óntransferencia 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)

–1

–½

H(z) = 1 – z–1 + z–2 = z2 – z + 1 = z2 – z + 1 Donde: p1 = e–jπ/4

1 – z–1 + ½ z–2 z2 – z + ½ (z – p1) (z – p2) √ 2 p2 = ejπ/4

√ 2

X(z) = z__ ∴ Y(z) = H(z) X(z) = z (z2 – z + 1) = A z + B z + C z__ z – 1 (z–1)(z–p1)(z–p2) (z–1) (z–p1) (z–p2)

Donde: A=2 B = ej5π/4 C = B* = e–j5π/4

√ 2 √ 2

∴ y(nT) = Z–1 [ H(z) X(z) ] = 2 u(nT) + 1 u(nT) [ ej(n–5)π/4 + e–j(n–5)π/4 ] (√ 2 )n–1

⇒ y(nT) = 2 u(nT) + 1 u(nT) cos[ (n–5) π/4 ] (√ 2 )n–1

y(nT)

2

1

nT

T

T

Page 25: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 21 -

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 dela 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:

y(nT) = Z–1 [ H(z) X(z) ] donde: X(z) = Z [ u(nT) sen(ωnT) ] = z sen(ωnT)___ (z–ejωT)(z–e–jωT)

O sea:

y(nT) = ∫ H(z) X(z) zn–1 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: y(nT) ≈ 1 [ H(ejωT) ejωnT – H(e–jωT) e–jωT ] 2j

Como: 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 + θ(ω)] N jϕziT

H0 Π (ejωT – zi) ejωT – zi = Mzi e

H(ejωT) = M(ω) ejθ(ω) = i=1________ Donde: N jϕpiT

Π (ejωT – pi) ejωT – pi = Mpi e

i=1

Page 26: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich

Así obtenemos: N

H0 Π Mzi N N

M(ω) = i=1________ θ(ω) = ∑ ϕzi – ∑ ϕpi

N i=1 i=1

Π Mpi

i=1

Por lo tanto, M(ω) y θ(ω) pueden obtenerse dibujando los fasores en el plano, y midiendo susmagnitudes y sus ángulos.Para un filtro recursivo de segundo orden tenemos:

ϕz1

Mz1 o El punto A ⇒ ω = ∞ ϕ 1 Mp1 z1 C ⇒ ω = π/T (frecuencia p1 C ϕp

p Como:

H(ejωT) = H(ej(ω+

A los fines prácticos se t

Ejemplo:Hallar la

considerando: ωS = 2 [ra

H(z) = A2 z2 + A1 z + A0

z2

H(ejωT) = A2 ( ej2ωT + e–j2

H(ejωT) = 2 A2 cos(2ωT

∴ M(ω) = H(ejωT) =

θ(ω) = θN – 2ωT

px

de Nyquist) Mp2 MZ2

A Una vuelta completa alrededor del2 origen corresponde a un incremento de frecuencia de ωS = 2π2

x

- 22 -

ϕz2 T o Donde ωS : frecuencia de muestreo z2

kωs)T ) = H(ejωT) ⇒ H(ejωT) es periódica con período ωS

rabaja con un período –ωS , ωS llamado banda base.

respuesta en frecuencia en fase y amplitud para el siguiente filtro,d/seg] ( A0 = 0.4 A1 = 0.303 y A2 = 0.0935 ).

+ A1 z–1 + A2 z

–2

ωT ) + A1 ( ejωT + e–jωT ) + A0 =

ej2ωT

) + 2 A1 cos(ωT) + A0 ∴ ej2ωT

2 A2 cos(2ωT ) + 2 A1 cos(ωT) + A0

0 si (2 A2 cos(2ωT ) + 2 A1 cos(ωT) + A0 ) > 0 donde: θN = π para ∀ otro caso

Page 27: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 23 -

4. Aproximaciones de filtros analógicos

Un filtro digital recursivo se puede aproximar usando alguna de las siguientes aproximaciones defiltros 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 = 10 log L(ω 2) Vo(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 características de Atenuación, Fase y Retardo en funcion de ω.

Con ω = s hacemos: L(–s2) = D(s) D(–s) Función de atenuación j N(s) N(–s)

Un par de diagramas típicos de polos y ceros de H(s) y L(–s2) son como los siguientes:

jω jω H(s) x 2 L(–s2) 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

Page 28: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 24 -

tal que: lím L(ω2) = 1 ⇒ L(0) = 1 ∴ Bo = 1 ω2→ ∞

Se puede llegar a que B1 = B2 = ..... = Bn = 0 ∴ L(ω2) = 1 + Bn ω2n

Como para un pasabajos normalizado: A(ω) = –3dB a ω = 1 [rad/seg]

⇒ Bn = 1 ∴ L(ω2) = 1 + ω2n

La atenuación de un pasabajos Butterworth normalizado es: A(ω) = 10 log(1+ω2n) , y en lasiguiente figura se presentan las curvas de atenuación en función de n (orden del filtro).

4.2.1 Función Transferencia Normalizada 2n

Con ω = s tenemos: L(–s2) = 1 + (–s2)n = Π (s – sk) j k=1

sk = e j(2k–1)π / 2n para n pardonde: sk = e j(k–1)π / n 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:

1HN(s) = donde: pi son los ceros de L(–s2) en el semiplano izquierdo. n

Π (s – pi) i=1

n=3

n=6

n=9

Page 29: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 25 -

Ejemplo: hallar HN(s) para: (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) s2

s2 = e j 3π / 4 ⇒ s2 = –1 + j 1 √ √ 2 √ 2

s3 = e j 3π / 4 ⇒ s2 = –1 – j 1 √ √ 2 √ 2

s3

s4 = e j 7π / 4 (semiplano derecho)

∴ HN(s) = 1 = 1_______ (s + 1 – j 1 ) (s + 1 + j 1 ) ( s2 + √ 2 s + 1 ) √ 2 √ 2 √ 2 √ 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_ s3

2⇒ s4 = –1

s5 = –0.5 + j √ 3_ s4

2

∴ HN(s) = 1 s5

(s + 1) (s2 + s + 1)

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.

X

X

X

X

X

Page 30: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 26 -

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 laforma:

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 + ωo

2

Ejemplo:

Hallar la función transferencia de un filtro pasabajos de Buterworth de orden 3. La frecuencia decorte (–3 dB) debe ser de 2000 Hz.

HN(s) = 1_______ λ = ωoN = 1 = 1 (s + 1) (s2 + s + 1) ωoD 2 π 2000 4000 π

HPB(š) = 1 = λ–3 = (λš + 1) ( (λš)2 + λš + 1 ) (š + λ–1) ( š 2 + λ–1 š + λ–2 )

HPB(š) = 1.9844 . 1012__________________ (š + 12566.37) ( š 2 + 12566.37 š + 157.9137 . 106 )

Como se verá posteriormente, una de las aplicaciones de los filtros digitales es el procesamientode señales analógicas, con un esquema como el siguiente:

Page 31: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 27 -

x~(t) x(nT) y(nT) y~(t) x(t) y(t)

c(t)

Una posibilidad para el diseño y síntesis del filtro digital es partir de la función transferencia delfiltro analógico, y aplicarle una transformación para hallar H(z), y posteriormente implementar elfiltro 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 cualse 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 debesatisfacer 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 seasimilar 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

sN + ∑ bi sN–i

FPB A/DFILTRODIGITAL D/A FPB

Page 32: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 28 -

Y se obtiene HD(z) mediante el siguiente reemplazo: s = 2 (z – 1) donde T : período de T (z + 1) muestreo

Es decir: HD(z) = HA(s) s = 2 (z–1) T (z+1)

Demostración:

Un integrador analógico con función transferencia HI(s) = 1 , tiene una respuestatemporal al impulso: s

1 para t ≥ 0+

L –1 HI(s) = hI(t) = 0 para t ≤ 0–

t

Y su respuesta temporal ante cualquier excitación será: y(t) = ∫ x(τ) hI(t–τ) dτ 0 x(τ)

t1 t2 τ

Considerando: 0+ < t1 < t2, podemos escribir:

t1 t2

y(t2) – y(t1) = ∫ x(τ) hI(t–τ) dτ – ∫ x(τ) hI(t–τ) dτ 0 0

Como para 0+ < τ < t1 , t2 → hI(t1–τ) = hI(t2–τ) = 1 ⇒

t2

⇒ y(t2) – y(t1) = ∫ x(τ) hI(t–τ) dτ 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) ]

Page 33: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 29 -

⇒ 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) s = 2 (z–1) T (z+1)

Y en general: 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 deButterworth con n=3. Considerar T=125 µseg (8000 muestras/seg). Aplicartransformación Bilineal.

HN (s) = 1 Si λ = 1 ⇒ HPB(š) = λ–3_________ (s+1) (s2 + s + 1) 2 π 2000 (š+λ–1)(š2 + λ–1š + λ–2)

Aplicando la transformación Bilineal: s = 2 (z–1) y luego de realizar los pasos T (z+1) algebráicos correspondientes, se llega a la siguiente expresión:

HD(z) = 0.112958 (z + 1) (z2 + 2z + 1)______ (z2 – 0.318993 z + 0.346114) (z – 0,120198)

Finalmente, una posible realización de este filtro es la siguiente:

0.112958

x(nT) ⊕ ⊕ ⊕ ⊕ y(nT)

0.120198 0.3118993 2

–0.346114

T

T

T

Page 34: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 30 -

5.3 Realización de un filtro digital

1. Realización Directa N

Y(z) = H(z) = N(z) = N(z)__ Donde: N(z) = ∑ ai z–i

X(z) D(z) 1 + D'(z) 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) ⊕ Y(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)

a1

a2

D'(z) ⇒ X(z) N(z) ⊕ Y(z)

–b1

–b2

N(z)

D'(z)

T

T

T

T

Page 35: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 31 -

Filtro completo: X(z) ⊕ Y(z)

a0

a1 –b1

a2 –b2

2. Realización Directa Canónica

Minimiza la cantidad de retardos: la cantidad de retardos es igual al orden delfiltro.

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)

Page 36: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 32 -

X(z) ⊕ ⊕ Y(z) a0

–b1 a1

–b2 a2

(*) 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) a0

–b1 a1

–b2 a2

Solución Canónica

T

T

T

T

T

T

Page 37: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 33 -

5.4 Propiedades de mapeo de la transformación bilineal

La transformación bilineal tiene como objetivo que el filtro digital obtenido tenga la mismarespuesta temporal que el filtro analógico de origen.Por otra parte, puede haber diferencias entre la respuesta en frecuencia del filtro digital y la delfiltro analógico de origen. Esto es lo que se analiza a continuación.

s = 2 (z–1) → 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 = 1si σ < 0 ⇒ r < 1

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 θ = 0si ω → +∞ θ → +π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: θ = 2 arc tg (ωT / 2)

Page 38: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

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 atenuación a una frecuencia Ω, debediseñ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) de2000 Hz y período de muestreo T=125 µseg, el filtro analógico debería calcularsepara 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 corrección se denomina "prewarping".

A continuación se trata de obtener la función transferencia del filtro digital:

HN (s) = 1 Si λ = 1 ⇒ HPB(š) = λ–3__________ (s+1) (s2 + s + 1) 2 π 2546,48 (š+λ–1)(š2 + λ–1š + λ–2)

Aplicando la transformación Bilineal: s = 2 (z–1) y luego de realizar los pasos T (z+1) algebráicos correspondientes, se llega a la siguiente expresión:

HD(z) = 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) ⊕ ⊕ ⊕ ⊕ y(nT)

0 0 2

–0.333333Observació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 erro-res de redondeo que cometen dichos programas. (por ej.: en lugar de anu-larse los términos en z–1 del denominador, toman valores muy pequeños).

T

T

T

Page 39: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 35 -

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ñalperiódica, con período NT, xp(nT), de la siguiente manera:

xp(nT) = ∑ x(nT + rNT) r = –∞

x(nT) xp(nT)

nT nT

NT

La transformada discreta de Fourier de xp(nT) se define de la siguiente forma:

N–1 W = e j2π/N

Xp(jkΩ) = ∑ xp(nT) W–kn = D xp(nT) donde: Ω = ωs / N n=0 ω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 lasiguiente expresión:

N–1

xp(nT) = 1 ∑ Xp(jkΩ) W kn = D–1 Xp(jkΩ) N k=0

Demostración:

N–1 N–1 N–1 N–1 N–1

1 ∑ Xp(jkΩ) W kn = 1 ∑ ∑ xp(mT) W –km W kn = 1 ∑ xp(mT) ∑ W k(n–m)

N k=0 N k=0 m=0 N m=0 k=0

Page 40: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 36 -

N–1 N si m=n

Como: ∑ W k(n–m) = k=0 0 para ∀ otro caso

N–1 N–1 N–1

⇒ 1 ∑ Xp(jkΩ) W kn = 1 ∑ xp(mT) ∑ W k(n–m) = xp(nT) N k=0 N m=0 k=0

1 si 2 ≤ n ≤ 6Ejemplo: calcular la DFT para la siguiente señal: xp(nT) = N=10 0 ∀ otro n

6

Xp(jkΩ) = ∑ W–kn = W –2k – W –7k como W = e j2π/N = e j π/5 ⇒ n=2 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 algráfico anterior.

k 0 1 2 3 4 5 6 7 8 9A(kΩ) 5 3.236 0 1,236 0 1 0 1.236 0 3.236

Page 41: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 37 -

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 ∞ ∞ N–1

Xp(jkΩ) = ∑ ∑ x(nT + rNT) W–kn = ∑ ∑ x(nT + rNT) W–kn

n=0 r = –∞ 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 2N–1

= .... + ∑ x(mT) W–km + ∑ x(mT) W–km + ∑ x(mT) W–km + ..... = m=–N m=0 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érica-

mente igual a la transformadaZ de x(nT) muestreada en elcírculo |z| = 1.

3Ejemplo: N=12 ⇒ 4 2

plano Z 5 1 kΩT 6 0

7 11 8 10 9

Page 42: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

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 análogo al teorema del muestreo en eldominio 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) parala 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 procesadaempleando algoritmos de Transformada Rápida de Fourier (FFT), si se adoptaun 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:

Page 43: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 39 -

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 esexacta, y en el mejor de los casos la DFT de xp(nT) es una representacióndistorsionada de x(nT).

6.5 Interrelación entre la transformada discreta de Fourier (DFT), y la transformadacontí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Ω) para |kΩ| < ωs_ T 2

Por lo tanto: xp(nT) x(t)

Xp(jkΩ) X(jω)

Si, por el contrario, x(t) ≠ 0 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) noes una representación precisa de x(t).Sin embargo, si la banda de frecuencias está limitada, se puede aplicar una ventanatemporal w(t), y obtenemos x'(t) –una versión truncada de x(t)–:

Page 44: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

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 representación aproximada de x(t), en el dominio de lafrecuencia.

Las pautas para seleccionar el tipo de ventana –w(t)– y el valor de N pueden verse en elcap. 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ónaproximada mediante DFT de señales discretas en el tiempo tales que:

x(nT) ≠ 0 para n < 0 o para n ≥ N

Page 45: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 41 -

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) = ∑ x(n) WN –kn donde: WN = e j2π / N

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 N–1

X(k) = ∑ x(n) WN –kn + ∑ x(n) WN

–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) = ∑ x10(n) WN –2kn + ∑ x11(n) WN

–2kn donde: x10(n) = x(2n) n=0 n=0 x11(n) = x(2n+1)

para 0 ≤ n ≤ N / 2 –1

y como: WN –2kn = WN / 2

–kn

N / 2 – 1 N / 2 – 1

⇒ X(k) = ∑ x10(n) WN/2 –kn + WN

–k ∑ x11(n) WN/2 –kn = X10(k) + WN

–k X11(k) n=0 n=0

∴ X(k) = X10(k) + WN–k X11(k)

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"

Page 46: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 42 -

X10(k) X(k) 1 1

±W–k 1X11(k) X(k+N/2)

O también se puede utilizar el siguiente diagrama simplificado:

X10(k) X(k)

kX11(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 N/4–1

X10(k) = ∑ x20(n) WN/4 –kn + WN

–2k ∑ x21(n) WN/4 –kn

n=0 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 lasiguiente 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 elrazonamiento 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 lassumatorias, y en el ciclo m-ésimo tendremos:

Page 47: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 43 -

m–1

X(m–1)0(k) = Xm0(k) + WN –2 k Xm1(k)

m–1

X(m–1)0(k+N/2m) = Xm0(k) – WN –2 k Xm1(k)

m–1

X(m–1)1(k) = Xm2(k) + WN –2 k Xm3(k)

m–1

X(m–1)1(k+N/2m) = Xm2(k) – WN –2 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: elciclo r-ésimo (N=2r), xr0(n), xr1(n), etc. quedan reducidas a secuencias de un soloelemento, 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 dadoque:

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ónde bits queda 1002 = 4.

En definitiva, xr0(0), xr1(0), .... es una versión reordenada de la secuencia de muestrasde 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) para 0 ≤ n ≤ N/2–1

x10 = x(0), x(2), x(4), x(6) x11 = x(1), x(3), x(5), x(7)

Page 48: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 44 -

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)

Como puede verse, la cantidad de operacionees igual a N/2 log2N , en lugar de las N2 corresi N=512, la DFT requiere 5122 = 262144 cáde sólo 2304 cálculos (≈ 1%).

Por otra parte, tambien puede verse del grámemoria necesaria para poder calcular la FFutilizar un conjunto de valores Xmi(k) como eX(m–1)i(k) , ya no se necesitan más los valoresmemoria que ocupan podrán ser destinados a l

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

71

0

0

0

0

3

2

1

0

0

2

0

2

s ("mariposas") que hay que realizarspondientes a la DFT. Por ejemplo:lculos, mientras que la FFT requiere

fico anterior que se la cantidad deT es igual a 2 N, ya que luego dentradas para calcular los valores de de Xmi(k), por lo que los lugares deos valores de X(m–2)i(k).

Page 49: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 45 -

8. Diseño de filtros no recursivos (FIR)

Los filtros recursivos (IIR) que se han considerado anteriormente permiten obtener filtros de altaselectividad y sencillez computacional. Sin embargo, es muy dificil diseñar un filtro digitalrecursivo que tenga alta selectividad y al mismo tiempo un retardo de grupo constante. Mediantela aproximación de Bessel y la transformación invariante al impulso se puede obtener un filtrorecursivo con retardo de grupo constante, pero esto solamente permite obtener filtros pasabajos opasabanda de baja selectividad.Por el contrario, los filtros no recursivos se pueden diseñar fácilmente para que tengan un retardode grupo constante, al mismo tiempo que se puede lograr una gran variedad de respuestas enfrecuencia.Hay diferentes métodos para resolver la aproximación de filtros no recursivos. El método que seva a considerar está basado en series de Fourier. Otro método está basado en el uso de la DFT (oFFT), y otra posibilidad es utilizar el algoritmo de intercambio de Remez. Este último métodopermite lograr soluciones óptimas, es decir, un filtro con el mínimo orden posible. La desventajadel algoritmo de intercambio de Remez es la complejidad y volumen de cálculos necesarios paraefectuar 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óntransferencia: N–1

H(z) = ∑ h(nT) z–ne j 2π / N

n=0

y su respuesta en frecuencia estará dada por: N–1

H(ejωt) = 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, esdecir:

θ(ω) = – τω

De las ecuaciones precendentes y se puede expresar la respuesta en fase como:

Page 50: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 46 -

N–1

∑ h(nT) sen ωnTθ(ω) = – τω = arc tg n=0_____________ N–1

∑ h(nT) cos ωnT n=0

Por lo tanto: N–1

∑ h(nT) sen ωnT tan ωτ = sen ωτ = n=0_____________ cos ωτ N–1

∑ h(nT) cos ωnT n=0

Luego, se puede llegar a:

N–1

∑ h(nT) ( cos ωnT sen ωτ – sen ωnT cos ωτ ) = 0 n=0

Y finalmente, la expresión anterior es equivalente a la siguiente:

N–1

∑ h(nT) sen(ωτ – ωnT ) = 0 n=0

Puede demostrarse que la solución a esta expresión es:

τ = (N – 1) T y h(nT) = h[(N–1–n)T ] para 0 ≤ n ≤ N–1 2

Por lo tanto, un filtro no recursivo puede tener fase y retardo de grupo constantes a lo largode toda la banda base. Solamente es necesario que la respuesta impulsiva sea simétricaalrededor del punto medio entre las muestras (N–2)/2 y N/2, para N par, o bien con resepcto ala muestra (N–1)/2 para N impar. La figura siguiente muestra la simetría requerida paraN=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

Page 51: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 47 -

En algunas aplicaciones solamente es necesario que el retardo de grupo sea constante, encuyo 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 norecursivos. Si θ0 = ± π/2, la solución es:

τ = (N – 1) T y h(nT) = –h[(N–1–n)T ] para 0 ≤ n ≤ N–1 2

Respuesta en Frecuencia

Las precedentes ecuaciones y permiten arribar a algunas expresiones sencillas para larespuesta en frecuencia. Para el caso de respuesta impulsiva simétrica y N impar, la ecuación

puede ser expresada así:

(N–3)/2 N–1

H(ejωT) = ∑ h(nT) e–jωnT + h[ (N–1)T ] e–jω(N–1)T/2 + ∑ h(nT) e–jωnT n=0 2 n=(N+1)/2

Usando la ecuación y haciendo N – 1 – n = m, m=n, la última sumatoria en la ecuaciónanterior puede ser expresada así:

N–1 N–1 (N–3)/2

∑ h(nT) e–jωnT = ∑ h[(N–1–n)T] e–jωnT = ∑ h(nT) e–jω(N–1– n)T n=(N+1)/2 n=(N+1)/2 n=0

Por lo tanto, de y podemos llegar a la siguiente expresión de la respuesta en frecuencia:

(N–3)/2

H(ejωT) = e–jω(N–1)T/2 h [ (N–1)T ] + ∑ 2h(nT) cos[ω (N–1 – n) T ] 2 n=0 2

Por último, si hacemos (N–1)/2 – n = k, llegamos a:

(N–1)/2

H(ejωT) = e–jω(N–1)T/2 ∑ ak cos(ω k T ) donde: a0 = h[(N–1)T] k=0 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 ypara los dos casos de respuesta antisimétrica. La siguiente tabla resume las expresiones de larespuesta en frecuencia para los cuatro casos posibles.

Page 52: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 48 -

h(nT) N H(ejωT) (N–1)/2

Simétrica Impar e–jω(N–1)T/2 ∑ ak cos(ω k T ) k=0

N/2

Par e–jω(N–1)T/2 ∑ bk cos[ω(k–½) T ] k=1

(N–1)/2

Antisimétrica Impar e–j[ω(N–1)T/2 – π/2] ∑ ak sen(ω k T ) k=0

N/2

Par e–j[ω(N–1)T/2 – π/2] ∑ bk sen[ω(k–½) T ] k=1

donde: a0 = h[(N–1)T] ak = 2h[(N–1 – k) T] bk = 2h[( N – k) T] 2 2 2

Ubicación de los Ceros

Las condiciones impuestas a la respuesta impulsiva por las ecuaciones y , imponenciertas restricciones a los ceros de H(z). Para N impar tenemos:

(N–3)/2

H(z) = 1 ∑ h(nT) ( z(N–1)/2–n ± z–[ (N–1)/2–n] ) + ½ h[ (N–1)T ] ( z0 ± z0 ) z(N–1)/2 n=0 2

Donde: el signo negativo se aplica al caso derespuesta 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 ∑ ½ ak ( zk ± z–k ) Donde: a0 y ak están dados por

D(z) z(N–1)/2 n=0 las ecuaciones y .

Los ceros de H(z) son las raices de N(z), dado por:

(N–1)/2

N(z) = ∑ ak ( zk ± z–k )

k=0

Si z es reemplazada por z–1, tenemos:

Page 53: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 49 -

(N–1)/2 (N–1)/2

N(z–1) = ∑ ak ( z–k ± zk ) = ± ∑ ak ( z

k ± z–k ) = ± N(z) k=0 k=0

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 enel círculo unidad, debido a que:

(z–zi)(z–zi*) = (z – ejψi)(z – e–jψi) = (z – 1 )(z – 1 ) zi* 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, esdecir: 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 norecursivo con retardo constante de fase.

8.2 Diseño de filtros no recursivos usando Series de Four

Como la respuesta en frecuencia de un filtro no recucon período ωs, puede ser expresada como una serie

H(ejωT) = ∑ h(nT) e–jωnT Donde: n=–∞

z2

z3

z3*

1

1

z5*

z5

z4 z

/z *

5

1 1/z4

Plano z

/z

ier.

rsivo es una función periódica de ωde Fourier. Podemos escribir: ωs/2

h(nT) = 1 ∫ H(ejωT) ejωnT dω ωs

–ωs/2

5

Page 54: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 50 -

Si consideramos z = ejωT obtenemos: ∞

H(z) = ∑ h(nT) z–n

n=–∞

De la expresión analítica de la respuesta en frecuencia es fácil llegar a una expresión de lafunción transferencia. Sin embargo, esta función transferencia es no causal y de ordeninfinito. Para obtener un filtro de orden finito, la serie planteada puede ser truncadahaciendo:

h(nT) = 0 Para |n| > N – 1 2

En cuyo caso llegamos a la siguiente expresión: (N–1)/2

H(z) = h(0) + ∑ [h(–nT) zn + h(nT) z–n] n=1

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 elretardo 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 essimétrica alrededor de n=0, y el filtro tiene retardo de grupo 0. En consecuencia, el filtrono 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:

1 para |ω| ≤ ωc

H(ejωT) ≈ Donde ωs: frecuencia 0 para ωc < |ω| ≤ ωs / 2 de muestreo

Solución: ωc

h(nT) = 1 ∫ ejωnT dω = 1 sen(ωcnT) ωs

–ωc nπ

Luego: (N–1)/2

H(z) = z–(N–1)/2 ∑ an [zn + z–n] Donde: a0 = h(0)

n=0 2 an = 2 h(nT)

Si consideramos los siguientes valores: N=7, ωc=2 rad/s y ωs=10 rad/s, lafunción transferencia del filtro sería:

Page 55: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 51 -

3

H(z) = z–3 [ h(0) + ∑ h(nT) (zn + z–n) ] n=1

3

H(z) = z–3 [ 0.4 + ∑ 1 sen(2nπ) (zn + z–n) ] n=1 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 losrequerimientos planteados en el ejemplo anterior (ωc=2 rad/s y ωs=10 rad/s), yconsiderando N=11, N=21 y N=31. Se pueden observar oscilaciones en la bandade paso y en la banda de rechazo, debidas a la lenta convergencia de las series deFourier, las cuales son causadas por la discontinuidad existente entre la banda depaso y la banda de rechazo. A medida que N aumenta, aumenta también lafrecuencia de las oscilaciones. Asimismo, puede verse que al aumentar Ndisminuye la amplitud de las oscilaciones, excepto la última de la banda de paso yla primera de la banda de rechazo, que tienden a mantenerse virtualmente sincambio.

Una forma rudimentaria de evitar las discontinuidades en la respuesta enfrecuencia puede ser introducir una banda de transición. Por ejemplo, elpasabajos considerado en el ejemplo anterior podría ser redefinido así:

N=11 N=21 N=31

Page 56: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 52 -

1 para |ω| ≤ ωp

H(ejωT) ≈ – (ω – ω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 Gibbsconsiste en preacondicionar h(nT) usando una clase de funciones en el dominio deltiempo 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 noslleva a:

Hw(z) = 1 ∫ H(v) W(z/v) v–1 dv Donde Γ : contorno en la la región 2πj Γ 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 delplano v, la ecuación anterior puede escribirse así:

2π/T

Hw(ejωT) = T ∫ H(ejΩT) W(ej(ω–Ω)T) dΩ 2π 0

Si a los fines de esta explicación consideramos: 1 H(ejΩT)

1 para 0 ≤ |Ω| ≤ ωc

H(ejΩT) = 0 para ωc < |Ω| ≤ ωs/2 –π/T –ωc ωc π/T

Page 57: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 53 -

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 severá el espectro real–.Se puede demostrar que con W(ejΩT) tal como la anterior, la gráfica de Hw(ejΩT) adoptaríauna 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 representeun filtro de retardo constante de orden finito, entonces w(nT) deberá satisfacer lassiguientes 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 idealvisto más arriba, y adopta una forma como la que se ve en la próxima figura. la amplituddel lóbulo principal está dada por kωs/N, donde k es una constante.

Page 58: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich

El efecto que tieoscilaciones de Gbanda de paso seaencerrada por los el lóbulo principal

Por otra parte, la transición del filtrtanto el orden del

Las funciones de v

– Rectangu– von Hann– Hamming– Blackma– Dolph-Ch– Kaiser

8.3.1 Ventana Rectangu

La ventana

wR(NT) =

El espectro

WR(

W(ejωT)

- 54 -

nen los lóbulos laterales ibbs en la respuesta en amp pequeño, y la atenuación elóbulos laterales debe ser un.

amplitud del lóbulo principo resultante. Para lograr unfiltro) deberá ser grande, mie

entana más frecuentemente u

lar (o Hanning)

nebyshev

lar.

rectangular está dada por:

1 para |n| ≤ (N – 1)

0 para otros valores

de wR(NT) puede calcularse

(N–1)/2

ejωT) = ∑ e–jωnT = sen n=–(N–1)/2 sen

kωs / 2N

–kωs / 2N

del espectro de litud del filtro. n la banda de reca pequeña fracció

al determina la a alta selectividadntras que el valor

sadas son:

/ 2

de |n|

de la siguiente fo

(ωNT / 2) (ωT / 2)

ω

w(nT) es aumentar lasPara que el ripple en lahazo sea grande, el árean del área encerrada por

amplitud de la banda de, el valor de N (y por lo

de k deberá ser pequeño.

rma:

Page 59: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 55 -

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 quetendrá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)) para |n| ≤ (N–1) / 2wH(nT) =

0 para los demás casos

α = 0.5 (von Hann)α = 0.54 (Hamming)

Puede observarse que los lóbulos laterales de estas ventanas son más reducidosque 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=101von Hann 2.62 2.67Hamming 1.47 0.74

El ancho del lóbulo principal puede demostrarse que es aproximadamente igual a4ωs/N.

8.3.3 Ventana de Blackman.

La ventana de Blackman es similar a la anterior, y está dada por la siguienteexpresión:

0.42 + 0.5 cos(2πn/(N–1)) + 0.08 cos(4πn/(N–1))) para |n| ≤ (N–1)/2wB(nT) = 0 en los demás casos.

El término coseno adicional produce una reducción adicional en la amplitud de lasoscilaciones por efecto Gibbs. El factor de ripple, considerando ωs=10 rad/s es de0.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.

Page 60: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 56 -

8.3.4 Ventana de Dolph-Chebyshev.

Como pudo observarse, las ventanas anteriores dan lugar a un ripple que esprácticamente independiente del valor de N, y por lo tanto la aplicación de talesventanas es limitada.Una ventana más versátil es la de Dolph-Chebyshev, y está dada por la siguientefórmula: (N–1)/2

wDC(nT) = 1 1 + 2 ∑ TN–1 x0 cos(iπ/N) cos(2nπ i/N) N r i=1

para: n = 0, 1, 2, ..., (N–1)/2donde: 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| ≤ 1Tk(x) =

cosh(k cosh–1 x) para |x| > 1

Como puede verse, se puede elegir el factor de ripple que se desea obtener y, aligual que para otras ventanas, el valor de N determina el ancho del lóbuloprincipal.Dos propiedades interesantes de la ventana de Dolph-Chebyshev son lassiguientes:

– Para un dado valor de N, el ancho del lóbulo principal es el menor que podríaobtenerse para una relación de ripple dada. Esto implica que usando estaventana se obtienen filtros con una banda de transición muy estrecha.

– Todos los lóbulos laterales tienen la misma amplitud. Esto implica que el errorde aproximación tiende a distribuirse uniformemente con respecto a lafrecuencia.

8.3.5 Ventana de Kaiser.

La ventana de Kaiser, al igual que la anterior, también permite controlarindependientemente la relación de ripple y el ancho del lóbulo principal. Laventana de Kaiser está dada por:

I0(β) para |n| ≤ (N–1)/2wK(nT) = I0(α)

0 en los demás casos

Page 61: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 57 -

Donde: α es un parámetro independiente

β = α 1 – (2n / (N–1) )2

I0(x) = 1 + ∑ 1 x k 2 es la función de k=1 k! 2 Bessel modificada de orden cero del primer tipo.

El espectro de wK(nT) está dado por:

(N–1)/2

WK(ejωT) = wK(0) + 2 ∑ wK(nT) cos(ωnT) n=1

La ventana de Kaiser para tiempo contínuo es:

I0(β) para |t| ≤ τwK(t) = I0(α)

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 sen (τ ω2 – ωa2 ) Donde: ωa = α / τ

I0(α) ω2 – ωa2

Si WK(jω) ≈ 0 para |ω| ≥ ωs / 2, el espectro de la señal muestreada wK(t), o equiva-lentemente 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 aproximadapara 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 elancho del lóbulo principal. La relación de ripple disminuye con el aumento de α,

Page 62: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 58 -

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 lasexpresiones recién consideradas existen algunas fórmulas empíricas para determinar losvalores de α y N que permiten cumplir con las especificaciones para un filtro dado. Estose 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á representadaen el siguiente gráfico:

Ganancia

1 + δ 11 – δ

δ ω ω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 omenor a A'p , su atenuación en la banda de rechazo sea mayor o igual a A'a, y cuya bandade 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:

1 para |ω| ≤ ωc

H(ejωT) = 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) donde: δ1 = 10–0,05 A'a

δ2 = 100,05 A'p – 1 100,05 A'p + 1

Page 63: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 59 -

(3) Calcular Aa = –20 log δ

(4) Seleccionar el parámetro α según el siguiente criterio:

0 para Aa ≤ 21α = 0.5842(Aa – 21)0,4 + 0.07886(Aa – 21) para 21 < Aa ≤ 50

0.1102(Aa – 8.7) para Aa > 50

(5) Elegir el parámetro D según el siguiente criterio:

0.9222 para Aa ≤ 21D =

(Aa – 7.95) / 14.36 para Aa > 21

(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 H'w(z) = z–(N–1)/2 Hw(z) Donde: Hw(z) = 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) = 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) 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 N=27 Bt (2.5 – 1.5)

Page 64: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Ma

(7) 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álculorecién descripto, y da como resultado el orden del filtro y el listado de coeficientes delfiltro: h[n]*w[n]. Con algunas mínimas modificaciones este programa podría servir paracalcular 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//-------------------------------------------------------------------------------

#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 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

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 atenuación 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 > 50a = 0.1102*(A_a-8.7);

if ( A_a <= 21.0 )D = 0.9222;

elseD = (A_a - 7.95) / 14.36;

// calcula el orden del filtroN = (int) ceil(10 * D / (Wa-Wp) + 1);if( N%2 == 0 )

N++;

g. Guillermo Friedrich - 60 -

Los resultados obtenidos de la ejecuc

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]

if( n==0 )h[n] = 2*wc/Ws;

elseh[n] = sin(2*n*M_PI*wc/Ws) / (n*M_PI);

// calcula el término 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 función modificada de Bessel// de orden cero, del primer tipo//------------------------------------------------------------------

float Io( float x )

int k;float I;

// Como la serie converge r pido, suma sólo 10 términosfor(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;

ión de este programa son los que se ven a

Page 65: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo F

continuación:

Orden del filtro: N = 27wk( 0T) = 1.000000 h( 0T) = 0.400000 h( 0T)wk( 0T) = 0.400000wk( 1T) = 0.989963 h( 1T) = 0.302731 h( 1T)wk( 1T) = 0.299692wk( 2T) = 0.960309 h( 2T) = 0.093549 h( 2T)wk( 2T) = 0.089836wk( 3T) = 0.912385 h( 3T) = -0.062366 h( 3T)wk( 3T) = -0.056902wk( 4T) = 0.848347 h( 4T) = -0.075683 h( 4T)wk( 4T) = -0.064205wk( 5T) = 0.771029 h( 5T) = -0.000000 h( 5T)wk( 5T) = -0.000000wk( 6T) = 0.683782 h( 6T) = 0.050455 h( 6T)wk( 6T) = 0.034500wk( 7T) = 0.590272 h( 7T) = 0.026728 h( 7T)wk( 7T) = 0.015777wk( 8T) = 0.494279 h( 8T) = -0.023387 h( 8T)wk( 8T) = -0.011560wk( 9T) = 0.399484 h( 9T) = -0.033637 h( 9T)wk( 9T) = -0.013437wk(10T) = 0.309270 h(10T) = -0.000000 h(10T)wk(10T) = -0.000000wk(11T) = 0.226556 h(11T) = 0.027521 h(11T)wk(11T) = 0.006235wk(12T) = 0.153657 h(12T) = 0.015591 h(12T)wk(12T) = 0.002396wk(13T) = 0.092193 h(13T) = -0.014392 h(13T)wk(13T) = -0.001327

riedrich - 61 -

Page 66: Apunte Filtros Digitales

Técnicas Digitales III - UTN - FRBB Procesamiento Digital de Señales

Mag. Guillermo Friedrich - 62 -