Está en la página 1de 68

Prácticas de la Asignatura Tratamiento Digital de Señales

SÍNTESIS DE FILTROS DIGITALES

Fernando Cruz Roldán


Índice

Práctica de Diseño de Filtros Digitales. 1

Práctica de Efectos de la Cuantificación de los Coeficientes en


Filtros Digitales. 35
Práctica de Diseño de Filtros Digitales

A. OBJETIVOS
Los filtros digitales se pueden clasificar en dos grandes grupos: aquellos que presentan
una respuesta al impulso de duración infinita (IIR) y, por el contrario, los sistemas FIR o de
respuesta al impulso finita.
En el apartado de fundamentos teóricos se van a introducir los conceptos fundamentales
que caracterizan a cada uno de los grupos, para a continuación estudiar con detalle las
técnicas más empleadas en la etapa de aproximación o cálculo de los coeficientes.
Para sistemas IIR se van a presentar los métodos de ubicación de polos y ceros, y el
diseño de filtros digitales a partir de prototipos analógicos. Se emplearán las transformaciones
invariante de impulso y bilineal. En este apartado se pretende que se distingan las diferencias
que se producen al emplear cada una de ellas, y que se elija en cada momento y en función del
tipo de filtro, la más apropiada.
Una de las características más importantes de los sistemas FIR se debe a que pueden
presentar una fase de la respuesta en frecuencia lineal. Se estudiarán las condiciones que debe
cumplir la respuesta al impulso y los distintos grupos de filtros FIR que tienen fase lineal. En
la etapa de aproximación se desarrollará el método de la Transformada de Fourier o de la
ventana. El objetivo fundamental será apreciar la influencia de la longitud y de la forma de
diversas ventanas, y cómo queda afectada la respuesta en frecuencia del filtro deseado al
truncar su respuesta al impulso.
En la realización de la práctica se van a diseñar filtros digitales siguiendo todos los
métodos desarrollados en los fundamentos teóricos, y además se dedicará un apartado al
diseño de filtros FIR por el procedimiento de Parks-McClellan, el cual obtiene filtros óptimos
en el sentido de Chebyshev.

1
2 • Tratamiento Digital de Señales •

B. FUNDAMENTOS TEÓRICOS

1. DISEÑO DE FILTROS IIR

1.1 Propiedades de los filtros IIR


Para sistemas IIR la relación entrada-salida viene establecida por la expresión (1.1).
M Ν
y[n ] = ∑ bk x[n − k ] + ∑ ak y[n − k ] (1.1)
k =0 k =1

Estos sistemas no pueden realizarse de forma no recursiva, ya que para calcular la salida en
el instante "n" hemos de considerar las salidas en los instantes "n-k", necesitando la estructura
lazos de realimentación. Estas realizaciones realimentadas son potencialmente inestables.
Para calcular la salida por la expresión (1.1) necesitamos N+M+1 multiplicaciones y
N+M sumas. Sin embargo, empleando la expresión establecida para la convolución directa
(1.2) el número de operaciones se haría infinito.

y[n ] = ∑ h[k ]x[n − k ] (1.2)
k =0

La función de sistema se rige por la expresión 1.3.


M


Υ (z )
∑ bk z − k
Η (z ) = ∑ h[n]z − n = Χ(z ) = k =0
Ν
(1.3)
n =0
1− ∑ ak z −k

k =1

Dicha función no puede tratarse en forma de polinomio, pues tendría infinitos términos,
sino como una función racional, cociente de dos polinomios, que tendrá polos en puntos
finitos del plano z en general situados fuera del origen, lo cual no ocurre en los sistemas
F.I.R.. La presencia de estos polos proporciona mayor flexibilidad y potencia en el problema
de la aproximación, pero conlleva otras dificultades.
Normalmente un filtro I.I.R. necesita menos coeficientes que el correspondiente F.I.R.
para las mismas especificaciones. Se emplean cuando se requieren transiciones abruptas y alto
rendimiento. El precio que se paga es que se convierta en inestable o se degraden las
características en frecuencia si no se toman algunas precauciones.
La respuesta en frecuencia (1.4) se obtiene, si el sistema es estable, particularizando en
la función del sistema los puntos z en la circunferencia de radio unidad z = e jΩ .
M

∞ ∑ bk e − jkΩ
Η (Ω ) = ∑ h[n]e − jΩn = k =0
Ν
(1.4)
n =0
1− ∑ ak e − jkΩ

k =1

Los sistemas I.I.R. no van a poder presentar una característica de fase exactamente
lineal si queremos que sean causales. La solución más habitual se basa en aproximar el
• Tratamiento Digital de Señales • 3

módulo de la función de transferencia sin preocuparnos de la fase, bien porque no sea


importante o bien porque se ajuste en una etapa posterior de tipo paso-todo.
Si los coeficientes ak y bk de H(z) son reales, los polos y los ceros aparecen por parejas
conjugadas o son reales. Para que el sistema sea estable y causal todos los polos deben
situarse exactamente en el interior de la circunferencia unidad (o ser coincidentes con ceros en
dicha circunferencia), no habiendo restricción para los ceros.

1.2 Especificaciones del filtro


Para filtros selectivos en frecuencia (paso bajo, paso banda,...) las especificaciones se
suelen dar como un esquema de tolerancia. Para un filtro paso bajo podemos tener la plantilla
representada en la figura 1.1.

fig. 1.1: Plantilla de especificaciones para un filtro IIR paso bajo.

Para especificar la respuesta en frecuencia se emplean unos parámetros:


ε2: parámetro de rizado de la banda de paso
δp: desviación de la banda de paso
δs: desviación de la banda eliminada
Ωp: pulsación de corte de la banda de paso
Ωs: pulsación de corte de la banda eliminada
En algunas ocasiones las frecuencias de corte se dan normalizadas con respecto a la
frecuencia de muestreo, debiendo expresar las unidades correctamente.
Para filtros I.I.R. el rizado de la banda de paso se suele indicar como la diferencia entre
el máximo y el mínimo de la desviación en la banda de paso. Sin embargo para filtros F.I.R.
el rizado de la banda de paso es la diferencia entre la respuesta ideal y la máxima (o la
mínima) desviación en la banda de paso. Es decir, en sistemas I.I.R., el rizado de la banda de
paso es el rizado pico a pico en dicha banda.
4 • Tratamiento Digital de Señales •

1.3 Etapa de aproximación


El objetivo de esta etapa es seleccionar un método de aproximación para calcular los
coeficientes ak y bk, de manera que el módulo de la respuesta en frecuencia se ajuste a la
plantilla de especificaciones.
El método más sencillo consiste en colocar los polos y los ceros en el plano z a simple
vista, de forma que se obtenga la respuesta en frecuencia deseada. Otros métodos más
eficientes se van a basar en diseñar el equivalente analógico que cumpla las plantillas dadas, y
convertirlo en uno digital. Estos últimos son los que más se suelen utilizar.

1.3.1 Método de colocación de polos y ceros


Este método se basa en la propia definición de polo y cero. Un cero es un punto del
plano z en el que la función del sistema se hace nula, mientras que en un polo el valor de
dicha función tiende a infinito. En puntos del plano z próximos a un polo, el valor del Η ( z )
es elevado, mientras que en puntos cercanos a un cero el valor del Η (z ) se reduce
considerablemente.
Este método consiste en colocar los polos y los ceros en el plano z de manera que se
obtenga un módulo de la respuesta en frecuencia aproximado al que se desea. Como la
respuesta en frecuencia se evalúa en la circunferencia de radio unidad del plano z, si existe un
polo próximo a dicha circunferencia, el valor de Η (e jΩ ) será elevado en aquellos puntos
cercanos a dicho polo. Si se coloca un cero cercano a dicha circunferencia, se conseguirá
reducir el valor del Η (e jΩ ) . Se obtiene atenuación total en una frecuencia Ω 0 situando un
cero en z = e jΩ0 .
Así, se pueden diseñar distintos filtros en los que no se especifica de manera meticulosa
la plantilla de especificaciones y calcular de manera sencilla filtros paso bajo, paso alto,... . Es
obvio que este método se emplea en contadas ocasiones y para funciones de sistema
extremadamente simples.

1.3.2 Diseño de filtros IIR a partir de prototipos analógicos


Es la forma tradicional de diseño de sistemas I.I.R. por varias razones:
• El diseño de filtros analógicos es un problema muy estudiado.
• En bastantes aplicaciones interesan filtros digitales que simulen el funcionamiento de
un filtro analógico.
• Los métodos de aproximación convencionales funcionan bien en los filtros
analógicos pero no dan lugar a fórmulas sencillas de diseño cuando se aplican
directamente a los sistemas discretos.
Los métodos se basan en el diseño del equivalente analógico que cumpla las plantillas
dadas para convertirlo posteriormente en uno digital.
La especificación de partida se hará siempre en el dominio discreto. Aprovechando que
el diseño de filtros analógicos es un campo bien estudiado, se traslada el problema de la
aproximación al dominio s. De aquí se obtendrá una función del sistema analógico Η a (s )
(expresión (1.5)).
• Tratamiento Digital de Señales • 5

M M
∑ βk ⋅ sk ∏ (s − c k )
H a (s ) = k =0
N
= k =1
N
(1.5)
∑α k ⋅ s k
∏ (s − d k )
k =0 k =1

Una vez que se han obtenido los coeficientes {βk} y {αk}, o bien los ceros y los polos
{ck} y {dk} del filtro analógico, se emplean algunas transformaciones para convertirlo en un
filtro digital. Esta técnica será efectiva si tiene unas propiedades:
a. El eje "jω" del plano s debería transformarse en la circunferencia unidad del plano z.
De esta forma la transformación conserva en lo esencial el comportamiento en
frecuencia del sistema continuo.
b. La transformación debe conservar la estabilidad del sistema. Cada punto del
semiplano izquierdo del plano s debería transformarse en otro interior a la
circunferencia unidad.
Existen diversos métodos para realizar la conversión de la función de sistema analógica
en la digital, destacando por su utilización la transformación invariante de impulso y la
transformación bilineal. La relación dificultad/eficiencia de estas técnicas es muy baja.
1.3.2.1 Transformación invariante de impulso
Se basa en tomar como respuesta al impulso del filtro digital una versión muestreada de
la respuesta al impulso del sistema de tiempo continuo empleando un período de muestreo T
(expresión 1.6). Dicho valor es irrelevante cuando la especificación original se da en el
dominio discreto. Además, no tiene porqué coincidir con el valor del período que introduce el
convertidor A/D.
h[n ] = k ⋅ ha (n ⋅ T ) (1.6)
Cuando empleamos la transformación invariante de impulso para diseñar un sistema de
tiempo discreto a partir de una especificación de su respuesta en frecuencia, es especialmente
importante la relación entre las respuestas en frecuencia de los sistemas de tiempo continuo y
discreto. Si prescindimos del solapamiento (suponiendo espectros limitados en banda
muestreados a suficiente velocidad), las frecuencias de los sistemas de tiempo discreto y de
tiempo continuo se relacionan de forma lineal como se indica en la expresión (1.7). El primer
problema surge porque no hay sistemas analógicos limitados en banda y el solapamiento será
inevitable.
Ω = ω ⋅T (1.7)
Para demostrar cómo se consigue el sistema de tiempo discreto, vamos a partir de la
función de sistema dada en la expresión (1.5). Supondremos que M < N y que todos los polos
de Ha(s) son simples. En caso contrario el método se complica, necesitando realizar algunas
modificaciones en lo que se explica a continuación.
En primer lugar se desarrolla en fracciones simples la función de sistema (1.8), donde
las constantes Ak se calculan a partir de la expresión (1.9).
N
H a (s ) = ∑ (s −Kd k )
A
(1.8)
k =1
6 • Tratamiento Digital de Señales •

Ak = H a (s ) ⋅ (s − d k ) s = d k (1.9)

La respuesta al impulso del sistema causal de tiempo continuo resultante (1.10) se


obtiene calculando la Transformada Inversa de Laplace. La respuesta al impulso del sistema
de tiempo discreto (1.11) será la del sistema analógico muestreada a 1/T muestras por
segundo.
N
ha (t ) = ∑ Ak ⋅ e d k ⋅t ⋅ u (t ) (1.10)
k =1

N
h[n ] = ha (nT ) = ∑ Ak ⋅ e d k ⋅T ⋅n ⋅ u[n ] (1.11)
k =1

La función del sistema se obtiene calculando la Transformada Z de la respuesta al


impulso h[n].

( )
∞ ∞ N
H ( z ) = ∑ h[n]⋅ z − n = ∑ ∑ Ak ⋅ e d k ⋅T
n
⋅ z −n (1.12)
n=0 n = 0 k =1

( ) =∑ A
N ∞ N
H ( z ) = ∑ Ak ∑ ⋅ e d k ⋅T ⋅ z −1
n k

(1 − e )
d k ⋅T
(1.13)
k =1 n =0 k =1 ⋅ z −1
De las expresiones (1.8) y (1.13) se deduce que un polo en s = d k en el plano s se
transforma en un polo en z = e d k ⋅T , siendo los residuos de los desarrollos en fracciones
simples iguales.

La figura 1.2 muestra la transformación del plano s en el plano z. Cada banda horizontal
del plano s de anchura 2π/T se transforma en todo el plano z. Por tanto, para que el filtro
digital se corresponda exactamente con el analógico de partida es necesario que este último
sea de banda limitada, es decir, que Ha(ω)=0 para |ω|>π/T.

fig. 1.2: transformación de planos empleando la transformación invariante de impulso.

Las características del filtro digital diseñado son:


• Tiene el mismo número de polos que el prototipo analógico.
• Tratamiento Digital de Señales • 7

• La transformación de los polos s = d k en z = e d k ⋅T garantiza el mantenimiento de la


estabilidad en la transformación.
• Cuando el solapamiento sea irrelevante, la respuesta en frecuencia es una versión
plegada de la respuesta en frecuencia del filtro analógico, conservándose las
propiedades óptimas de este.
En resumen:
a. La respuesta al impulso del filtro discreto es idéntica a la del filtro analógico en los
instantes t = n ⋅ T .
b. La frecuencia de muestreo afecta a la respuesta en frecuencia del filtro invariante al
impulso. Se necesita una frecuencia muy alta para que el sistema discreto sea igual
que el analógico.
c. El método debe usarse para filtros paso bajo con banda de transición muy reducida, y
empleando una frecuencia de muestreo elevada. No puede emplearse para filtros
paso alto o filtros banda eliminada, pues el solapamiento en estos es inevitable.
1.3.2.2 Transformación bilineal
El método descrito en el apartado anterior tiene un grave inconveniente: la
transformación de cada tramo de longitud 2π/T del eje jω del plano s en toda la circunferencia
de radio unidad va a conllevar en ocasiones un solapamiento, de forma que la técnica es
impracticable en algunos tipos de filtros. Con la transformación bilineal evitamos esos
problemas. Las relaciones algebraicas que la caracterizan son las indicadas en 1.14.
⎛ T ⎞
s=
(
2 1− z −1
) ⎜1 +
z=⎝
2
s⎟

(
T 1 + z −1 ) ⎛ T
⎜1 −

s⎟
(1.14)

⎝ 2 ⎠
Esta transformación conserva el comportamiento en frecuencia del sistema continuo, ya
que si s=jω, se tiene el cociente de dos números complejos conjugados, luego |z|=1 para
cualquier valor de ω. Con esto se demuestra que el eje jω se transforma en la circunferencia
unidad del plano z. Cada uno de los valores de ω se transforma en un solo punto de Ω, de
forma que − π < Ω ≤ π . Podemos establecer que si s → ∞ , en el plano z tenemos z = -1. Si
s = 0 , el nuevo punto es z = 1.
⎛ T ⎞
⎜1 + jω ⎟
z=⎝ ⎠
2
(1.15)
⎛ T ⎞
⎜1 − jω ⎟
⎝ 2 ⎠
La transformación bilineal también mantiene la estabilidad del sistema, ya que si σ < 0
(cualquier punto del semiplano izquierdo de s) se obtiene que |z|<1. Esto significa que dicho
semiplano izquierdo de s se transforma en el interior de la circunferencia unidad del plano z.
El resultado de la transformación se puede observar en la figura 1.3.
⎛ T ⎞ ⎛⎛ T ⎞ T⎞
⎜1 + (σ + jω )⎟ ⎜ ⎜1 + σ ⎟ + jω ⎟
z=⎝
2 ⎠ = ⎝⎝ 2 ⎠ 2⎠
(1.16)
⎛ T ⎞ ⎛⎛ T ⎞ T⎞
⎜1 − (σ + jω )⎟ ⎜ ⎜1 − σ ⎟ − jω ⎟
⎝ 2 ⎠ ⎝⎝ 2 ⎠ 2⎠
8 • Tratamiento Digital de Señales •

fig. 1.3: transformación de planos empleando la transformación bilineal.

La función del sistema del filtro digital se obtiene mediante un cambio de variable en la
función de sistema del filtro analógico (expresión 1.17). Hay que advertir que si bien se
conserva el orden del denominador en ambos sistemas, sin embargo, el orden del numerador
puede ser mayor en el sistema discreto que en el continuo debido a que los ceros en ∞ del
plano s se transforman en ceros en z = -1.

H ( z ) = H (s )
(
2 1− z −1 ) (1.17)
s=
(
T 1+ z −1 )
La transformación bilineal presenta como inconveniente que aparece distorsión en el eje
de frecuencia digital Ω. Si se estudia la relación entre los dos ejes de frecuencia se podrá
corregir la distorsión en la etapa de diseño del filtro. Esta relación se puede obtener
comprobando en qué se transforma el eje jω (expresiones 1.18 y 1.19).

jω →
(
2 1 − e jΩ
=
)
2
⋅ ⋅
sen (Ω 2 ) 2
= ⋅ ⋅
⎛Ω⎞
(
T 1 + e jΩ T ) j
cos(Ω 2 ) T
j tg ⎜ ⎟
⎝2⎠
(1.18)

⎛Ω⎞
ω ⋅ T = 2 ⋅ tg⎜ ⎟ (1.19)
⎝2⎠
En la figura 1.4 se representa la función establecida por (1.19). En la figura 1.5 se puede
observar el efecto que trae consigo la relación no lineal que existe entre la frecuencia
analógica y la digital. Esta no linealidad limita la aplicación de la transformación bilineal a
respuestas en frecuencia analógicas idealmente formadas por tramos constantes, caso en el
que se mantienen las características del diseño analógico (decrecimiento monótono, rizado
constante, etc.).
• Tratamiento Digital de Señales • 9

Ω
π

−π

fig. 1.4: transformación del eje de frecuencias de tiempo continuo en la circunferencia de radio unidad.

ω
2 ΩFG IJ
Td
tan
2 H K

fig. 1.5: representación del efecto de la no linealidad en la aplicación de la transformación bilineal.

Por ello, cuando las especificaciones se dan en el dominio discreto es conveniente


realizar una predistorsión de los valores extremos de las bandas para fijar la especificación del
filtro analógico de partida.
Se puede resumir el método de la transformación bilineal en los pasos siguientes:
• Especificar el conjunto de frecuencias críticas {Ωk} del filtro digital deseado. No hay
limitación para el número de estas frecuencias.
• Predistorsionar dichas frecuencias críticas para obtener las frecuencias críticas
analógicas {ωk} mediante la expresión (1.20).

2 ⎛ Ωk ⎞
ωk = ⋅ tg⎜ ⎟ (1.20)
T ⎝ 2 ⎠
• Diseñar un filtro analógico con las frecuencias críticas analógicas calculadas. Las
aproximaciones más utilizadas en esta fase son las de Butterworth, Chebyshev o
elíptica.
• Obtener la función del sistema discreto empleando la transformación bilineal
(expresión 1.17)
Cuando no interesa mantener la respuesta al impulso o la fase de la respuesta en
frecuencia del filtro analógico, la transformación bilineal siempre resulta mejor que la
invariante de impulso debido a que no tiene problemas de solapamiento.
10 • Tratamiento Digital de Señales •

1.3.3 Transformación de frecuencias


Hasta aquí hemos estudiado cómo obtener filtros paso bajo digitales a partir de
prototipos analógicos, también paso bajo. Cuando se desean filtros con otro comportamiento
en frecuencia como paso alto, paso banda o banda eliminada se parte también de un prototipo
analógico paso bajo al que hay que aplicar dos transformaciones:
• Una para convertir el filtro analógico en digital.
• Otra para trasladar la banda de paso donde sea conveniente (será la transformación
de frecuencias).
Estas dos operaciones se pueden hacer en el orden que queramos (figura 1.6), pero si
realizamos primero la transformación de frecuencias no podemos aplicar la transformación
invariante de impulso.
Filtro paso bajo analógico⎫ ⎧Filtro analógico transformado⎫ ⎧Filtro discreto
⎬→⎨ ⎬→⎨
H a (s ) ⎭ ⎩ H a (λ ) ⎭ ⎩ H d (z )
Filtro paso bajo analógico⎫ ⎧Filtro paso bajo discreto⎫ ⎧Filtro discreto
⎬→⎨ ⎬→⎨
H a (s ) ⎭ ⎩ H l (ϑ ) ⎭ ⎩ H( z )
fig. 1.6: operaciones de conversión de un filtro paso bajo analógico en un filtro digital.

Las transformaciones de frecuencia en el plano z son muy similares a la transformación


bilineal. Sea Η l (ϑ ) la función del sistema discreto paso bajo obtenida a partir del prototipo
analógico, y Η (z ) la función del sistema discreto transformado.
La proyección del plano θ sobre el plano z se define a través de una función G(·)
(expresión 1.21). Si Η l (ϑ ) es la función racional de un sistema causal y estable, se debe
conseguir que Η (z ) (1.22) sea una función racional también de un sistema causal y estable.

( )
ϑ −1 = G z −1 (1.21)

Η (z ) = Η l (ϑ )
( )
ϑ −1 = G z −1
(1.22)

Por otra parte, la transformación G(·) debe controlar el comportamiento en frecuencia


del filtro transformado a partir del comportamiento en frecuencia del filtro prototipo. Para
satisfacer estas necesidades, la función de transformación G(·) debe presentar las siguientes
características:
( )
1. G z −1 debe ser una función racional de z-1.
2. El interior del circulo unidad del plano θ debe proyectarse en el interior del circulo
unidad del plano z.
3. La circunferencia unidad del plano θ debe proyectarse en la circunferencia del plano
z.
Las funciones que realizan las transformaciones de frecuencias más utilizadas se indican
en la tabla 1.1, donde Γ y Ω representan respectivamente las variables de frecuencia en los
planos θ y z.
• Tratamiento Digital de Señales • 11

Tabla 1.1: Transformaciones de frecuencias más usuales

Tipo de filtro Transformación Fórmulas de diseño asociado

⎛ Γp − Πp ⎞
−1 sen⎜ ⎟
−1 z −α ⎝ 2 ⎠
ϑ = α=
Paso bajo −1
1− α z ⎛ Γp + Πp ⎞
sen⎜ ⎟
⎝ 2 ⎠

Π p : frecuencia de corte deseada

⎛ Γp + Πp ⎞
cos⎜ ⎟
−1 ⎝ ⎠
−1 z +α α=−
2
Paso alto ϑ =− ⎛ Γp − Πp ⎞
−1
1 + αz cos⎜ ⎟
⎝ 2 ⎠

Π p : frecuencia de corte deseada

⎛ Π p 2 + Π p1 ⎞
cos⎜ ⎟
2αK −1 Κ − 1 ⎝ 2 ⎠
−2 α=−
z +
z − ⎛ Π p 2 − Π p1 ⎞
−1
ϑ =− Κ + 1 Κ +1 cos⎜ ⎟
Κ − 1 −2 2αΚ −1 ⎝ 2 ⎠
Paso banda z − z +1
Κ +1 Κ +1 ⎛ Γp 2 − Π p1 ⎞ ⎛ Γp ⎞
Κ = cotg⎜⎜ ⎟⎟ . tg ⎜⎜ ⎟⎟
⎝ 2 ⎠ ⎝ 2 ⎠

Π p1: frecuencia inferior de corte deseada

Π p 2 : frecuencia superior de corte deseada

⎛ Π p 2 + Π p1 ⎞
cos⎜ ⎟
⎝ 2 ⎠
α=−
−2 2α −1 1− Κ ⎛ Π p 2 − Π p1 ⎞
z − z + cos⎜ ⎟
−1 1+ Κ 1+ Κ ⎝ 2 ⎠
Banda ϑ =
1− Κ −2 2α −1
eliminada z − z +1 ⎛ Π p 2 − Π p1 ⎞ ⎛ Γp ⎞
1+ Κ 1+ Κ Κ = tg⎜⎜ ⎟⎟ . tg⎜⎜ ⎟⎟
⎝ 2 ⎠ ⎝ 2 ⎠

Π p1: frecuencia inferior de corte deseada

Π p 2 : frecuencia superior de corte deseada


12 • Tratamiento Digital de Señales •

2. DISEÑO DE FILTROS FIR

2.1 Propiedades de los filtros FIR


Los filtros F.I.R. son sistemas que por definición presentan una respuesta al impulso de
duración finita. Si se considera al sistema causal, la expresión (1.23) caracteriza a un filtro
F.I.R. de coeficientes bk.
L −1
h[n ] = ∑ bk δ [n − k ] (1.23)
k =0

La salida se puede calcular mediante convolución directa de la entrada con la respuesta al


impulso (expresión (1.24)).
L −1
y[n ] = ∑ h[k ]x[n − k ] (1.24)
k =0

La función de sistema que caracteriza al filtro es la Transformada Z de la respuesta al


impulso (1.25).
∞ L −1
H (z ) = ∑ h[n]z
n = −∞
−n
= ∑ bk z −k
k =0
(1.25)

Las características más importantes de estos sistemas son:


• Pueden presentar una característica de fase exactamente lineal. Esto ocurre si la
respuesta al impulso cumple la expresión (1.26) para n=0,1, ... (L-1).
h[n ] = ± h[ L − 1 − n ] (1.26)
• Si se emplean estructuras no recursivas son estables. Entonces, para calcular la
respuesta en frecuencia del filtro basta con evaluar la función de sistema en la
circunferencia unidad (expresión 1.27). Dicha respuesta en frecuencia H(Ω) toma
valores complejos y es periódica de período 2π. Es una función de la variable
continua Ω, a pesar de que h[n] sea una función de variable discreta.
L −1
H (Ω ) = ∑ h[n ]e − jΩn (1.27)
n =0

• Los filtros F.I.R. son muy fáciles de realizar. La mayoría de los procesadores de
señales digitales tienen unas arquitecturas internas que hacen factible su
construcción.
• Los filtros F.I.R. no recursivos son menos sensibles a los efectos de longitud de
palabra finita que los IIR, ofreciendo diversas ventajas en los cálculos que conlleva
el filtrado.

2.2 Filtros FIR de fase lineal


Como ya se ha comentado, una de las propiedades más importantes que pueden
presentar los filtros FIR es la posibilidad de disponer de una fase de la respuesta en frecuencia
exactamente lineal. Cuando una señal atraviesa un filtro se modifica su característica de
amplitud y de fase. Esta variación va a depender del módulo y de la fase de la respuesta en
• Tratamiento Digital de Señales • 13

frecuencia que presente el filtro. El retardo de fase y de grupo proporcionan una medida de
cómo el filtro va a llevar a cabo estas modificaciones. Un filtro que presente una característica
de fase no lineal ocasionará una distorsión de fase en la señal que lo atraviese, pues cada
componente en frecuencia sufre un retardo no proporcional a dicha frecuencia, modificándose
la relación entre armónicos. Se puede evitar empleando filtros con características de fase
exactamente lineal en determinadas bandas de frecuencia.
Un filtro tiene fase de la respuesta en frecuencia lineal si ésta satisface cualquiera de las
relaciones (1.28) ó (1.29), con α y β constantes. Si el filtro tiene la respuesta al impulso con
simetría par con respecto al punto central de la secuencia (1.30), satisface la primera
condición y tendrá constantes el retardo de fase y de grupo. En este caso la fase de la
respuesta en frecuencia es función de la longitud del filtro (1.31).
ϕ (Ω ) = −αΩ (1.28)
ϕ (Ω ) = β − αΩ (1.29)

⎧n = 0,1... (L − 1) 2 para L impar


h[n ] = h[L − n − 1] ⎨ (1.30)
⎩n = 0,1...(L 2 − 1) para L par

⎛ L −1⎞
ϕ (Ω ) = −⎜ ⎟Ω (1.31)
⎝ 2 ⎠
Cuando se satisface (1.29), la respuesta al impulso presenta simetría impar (expresión
(1.32)), y el filtro sólo tiene retardo de grupo constante, con una fase de la respuesta en
frecuencia como se establece en la expresión (1.33).
⎧n = 0,1... (L − 1) 2 para L impar
h[n ] = − h[L − n − 1] ⎨ (1.32)
⎩n = 0,1...(L 2 − 1) para L par

π ⎛ L −1⎞
ϕ (Ω ) = −⎜ ⎟Ω (1.33)
2 ⎝ 2 ⎠
En la tabla 1.2 se indica la clasificación existente para los filtros FIR de fase lineal
según su simetría y el número de coeficientes.
Tabla 1.2: filtros de fase lineal.

SIMETRÍA número de coeficientes L Tipo de filtro

PAR IMPAR I

h[n]=h[L-n-1] PAR II

IMPAR IMPAR III

h[n]=-h[L-n-1] PAR IV

Es importante indicar que en los cuatro tipos de filtros se puede demostrar que si
aparece un cero en cualquier punto z 0 del plano z, debe ir acompañado de otro recíproco
conjugado (1 z0 ) . Si además la respuesta al impulso es real, la función del sistema H(z) será

una función racional con coeficientes reales, y cada cero debe ir acompañado por su
14 • Tratamiento Digital de Señales •

conjugado. En consecuencia, en este tipo de sistemas los ceros aparecen por cuartetos
recíprocos conjugados con las siguientes excepciones:
1. Los ceros sobre la circunferencia unidad (salvo en z = ±1) aparecen por parejas, ya
que coinciden con sus recíprocos.
2. Los ceros reales no situados en la circunferencia unidad aparecen por parejas, pues
coinciden con sus conjugados.
3. Los ceros en z = ±1 coinciden con su recíproco y su conjugado, pudiendo aparecer
solos.
Se puede demostrar que en los filtros tipo II debe aparecer un cero en z = −1 , lo que
significa que no pueden realizar características paso alto, que en los filtros tipo III deben
aparecer ceros en z = 1 y z = −1 , con lo que no sirven para sistemas que permitan el paso de
las bajas y/o de las altas frecuencias, y que para los tipo IV el cero obligatorio se sitúa en
z = 1 , con lo que no se pueden emplear como filtros paso bajo.

2.3 Etapa de aproximación: método de la Transformada de Fourier o


de la ventana
Como ya se ha indicado, un filtro FIR se puede caracterizar por las expresiones (1.24) y
(1.25). En la etapa de aproximación, el objetivo final consiste en calcular los coeficientes del
filtro (o valores de la respuesta al impulso h[n]) de forma que se cumplan las especificaciones
de partida. Hay distintos métodos para obtener dichos coeficientes, destacando entre ellos los
métodos de la ventana, de muestreo en frecuencia y de Parks-McClellan. Aunque en este
apartado se analiza con detalle el primero, en la realización de la práctica se diseña un filtro
empleando el tercer método.
El método de la transformada de Fourier o de la ventana consiste en obtener una
aproximación del filtro ideal mediante un FIR de duración L, multiplicando las muestras de
este filtro ideal por distintas funciones de ventana. Es un procedimiento muy sencillo y
flexible que puede aplicarse a cualquier respuesta en frecuencia.
Partimos de la función de transferencia ideal H I (Ω ) , la cual se puede relacionar con la
respuesta al impulso h I [n ] a través de las ecuaciones de análisis y síntesis de la Transformada
de Fourier (expresiones (1.34) y (1.35)).

H I (Ω ) = ∑ hI [n]e − jΩn (1.34)
n = −∞

h I [n ] = ∫ H I (Ω)e
1 jΩn
dΩ (1.35)

En bastantes ocasiones la respuesta en frecuencia del filtro a aproximar H I (Ω ) contiene


discontinuidades o transiciones abruptas, como es el caso del filtro ideal, que no presenta
banda de transición. Estos requisitos van a implicar que la respuesta al impulso h I [n ]
presente una duración muy larga o incluso infinita, lo cual puede conducir a soluciones muy
difíciles de realizar o, a veces, imposibles. La opción sería llegar a un compromiso entre el
comportamiento en el dominio del tiempo y en el dominio de la frecuencia.
Para realizar aproximadamente el filtro dado se puede truncar la respuesta al impulso
deseada h I [n ] , ignorando los valores de las muestras de las colas (cuya amplitud es muy
• Tratamiento Digital de Señales • 15

pequeña), obteniendo de esta forma una h A [n ] (respuesta al impulso aproximada) finita que
desplazada puede representar a un filtro F.I.R. causal. Cuantas más muestras se tomen de
h I [n ] , mejor será la aproximación de la característica en frecuencia, pero el filtro será más
caro de realizar y presentará mayor retardo.
El truncado efectuado sobre la respuesta al impulso deseada h I [n ] para obtener la
aproximada h A [n ] se puede expresar como el resultado de multiplicar la primera por una
secuencia de duración limitada w[n] que recibe el nombre de ventana de observación o
simplemente ventana. La operación que realizamos en el dominio del tiempo viene indicada
por (1.36), y su respuesta en frecuencia resultante por (1.37).
h A [n ] = h I [n ]⋅ w[n ] (1.36)

H A (Ω ) =
1
[H I (Ω ) ⊗ W (Ω )] (1.37)

La ventana ideal sería aquella en que W (Ω ) = δ (Ω ) , pero la secuencia asociada a esta
transformada es w[n ] = 1 ∀n , la cual no produce ningún truncado.
La ventana más simple es la rectangular (figura 1.6), que tiene como transformada de
Fourier WR (Ω ) una función sinc (figura 1.7). Al convolucionar WR (Ω ) con H I (Ω ) da lugar
a un filtro H A (Ω ) cuyo módulo de la respuesta en frecuencia presenta oscilaciones y una
banda de paso distorsionada. Estos efectos indeseados son ocasionados por los lóbulos
secundarios de WR (Ω ) . Según aumenta la longitud de la ventana (o el número de muestras de
h A [n ] ), el lóbulo principal y los laterales de WR (Ω ) se hacen más estrechos.
Por tanto:
• La ventana ideal es W (Ω ) = δ (Ω ) . Esta no produce truncado.
• Si la anchura del lóbulo principal del espectro de la ventana es distinta de cero,
aparece la banda de transición.
• Si existen lóbulos laterales en dicho espectro, tendremos distorsión en la banda de
paso y en la atenuada.
• Para una ventana dada, la amplitud relativa de los lóbulos permanece invariante al
modificar el valor de la longitud.
16 • Tratamiento Digital de Señales •

1.2

0.8

0.6
Amplitud
0.4

0.2

-0.2
0 10 20 30 40 50 60
Indice
fig. 1.6: ventana rectangular de duración L= 63.

-10

-20

-30
dB`s
-40

-50

-60

-70
0.5 1 1.5 2 2.5 3

fig. 1.7: módulo del espectro de la ventana rectangular (L= 63).

Veamos cómo se puede evitar el efecto de las oscilaciones en las bandas de paso y
eliminada. Es evidente que la amplitud de los lóbulos secundarios viene determinada por la
forma de w[n]. Si la ventana presenta cambios abruptos en el dominio del tiempo (como la
ventana rectangular) los lóbulos secundarios tendrán amplitudes considerables. Entonces, una
forma de evitar el efecto de dichas oscilaciones consiste en utilizar ventanas cuyos valores en
amplitud en el dominio del tiempo caigan a cero gradualmente. Sin embargo, con este tipo de
• Tratamiento Digital de Señales • 17

ventanas la anchura del lóbulo principal de W (Ω ) aumenta considerablemente y con ella la


banda de transición de H A (Ω ) . Cuanto mayor es la anchura del lóbulo principal de W (Ω ) ,
más considerable es ese efecto. De este modo, el precio que se paga en H A (Ω ) al reducir el
efecto de las oscilaciones en las bandas de paso y eliminadas (utilizando ventanas con lóbulos
secundarios de amplitud pequeña) es aumentar la anchura de la banda de transición. Para
reducir la anchura de dicha banda basta con aumentar la longitud de la ventana, pero el filtro
aumenta el orden.
Así, se puede establecer que la anchura de la banda de transición del filtro aproximado
depende de la anchura del lóbulo principal del espectro de la ventana. Al estrecharse el lóbulo
principal, la anchura de la banda de transición se reduce. Por otro lado, el rizado y las
oscilaciones dependen de la amplitud máxima relativa del lóbulo principal con respecto a los
laterales, y ésta permanece constante siempre que se emplee la misma forma de ventana. La
reducción de la anchura de la banda de transición y las oscilaciones de forma simultánea no es
posible, ya que son efectos contradictorios. Sin variar la duración N, cambiando de ventana se
puede disminuir la amplitud máxima relativa, pero a costa de aumentar la anchura del lóbulo
principal.
Tabla 1.3: funciones de ventanas típicas.

VENTANA w[n] (− M ≤ n ≤ M ) A *LP Ai A sb ΔΩ

Rectangular 1 4 π (2 M + 1) 13'3 20.9 0.92π M


1⎛ 2πn ⎞
Hanning ⎜1 + cos ⎟ 8 π (2 M + 1) 31.5 43.9 3.11π M
2⎝ 2M + 1 ⎠
2πn
Hamming 0.54 + 0.46 ⋅ cos 8 π (2 M + 1) 42.7 54.5 3.32π M
2M + 1

2πn 4πn 12π (2 M + 1) 58.1 75.3 5.56π M


Blackman 0.42 + 0.5 ⋅ cos + 0.08 ⋅ cos
2M + 1 2M + 1

A*LP: anchura del lóbulo principal.


A*i: amplitud máxima relativa (en dB's) de los lóbulos laterales.

Asb: atenuación mínima (en dB's) en la banda eliminada.

ΔΩ: anchura de la banda de transición.

Hay distintas funciones de ventana que se caracterizan por una respuesta en frecuencia
adecuada para el diseño de filtros. Algunas de las más populares son las que se indican en la
tabla 1.3. La ventana triangular o de Bartlett se puede obtener como el resultado de la
convolución de dos rectangulares, y consigue aumentar la amplitud máxima relativa del
lóbulo primario al secundario (de -13'5 dBs a -27 dBs) a costa de ensanchar el lóbulo
principal (de 4π L a 8π L ). Otras ventanas de gran aceptación son las Hanning y Hamming,
ya que llegan a un buen compromiso entre la selectividad del filtro deseado (lóbulo principal
estrecho) y el rizado en las bandas de paso y atenuada (lóbulos laterales de amplitud
pequeña).
18 • Tratamiento Digital de Señales •

En todas las ventanas de la tabla 1.3 el compromiso entre lóbulo principal y secundarios
es fijo. En la ventana de Kaiser, definida por la expresión (1.38), dicho compromiso puede
variarse. El término Io(·) es la función de Bessel modificada de primera clase y de orden cero
y α= (L-1)/2 . Cuando n = 0, w[n] vale 1 para cualquier valor de ß y de L. Para distintos
valores de ß se obtienen ventanas más o menos suavizadas en los bordes. Para ß=0 se obtiene
la ventana rectangular y con ß = 5.44 aparece una ventana muy parecida a la de Hamming.
Incrementando el valor de ß se ensancha el lóbulo principal y disminuye la amplitud de los
lóbulos secundarios.
⎧ ⎛ 2 ⎞
⎪ I 0 ⎜ β ⋅ 1 − ⎛⎜ n − α ⎞⎟ ⎟
⎪ ⎜ ⎝ α ⎠ ⎟⎠
w[n ] = ⎨ ⎝ 0 ≤ n ≤ L −1 (1.38)
⎪ I 0 (β )

⎩0 resto

Si expresamos el rizado máximo (±δ) como una atenuación (A) en decibelios, se podrá
calcular el valor de ß a partir de las fórmulas indicadas en la expresión (1.40).
A = −20 log(δ ) (1.39)

⎧0.1102 ⋅ ( A − 8.7 ) A > 50



β = ⎨0.5842 ⋅ ( A − 21)0.4 + 0.07886 ⋅ ( A − 21) 21 ≤ A ≤ 50 (1.40)
⎪0 A < 21

Se puede sintetizar en tres pasos el diseño de filtros F.I.R. empleando el método de la
ventana:
1 Especificar la respuesta en frecuencia deseada H I (Ω ) . A partir de ésta se calcula la
respuesta al impulso h I [n ] .
2 Seleccionar la ventana adecuada, de forma que se satisfagan las especificaciones
deseadas en la banda de paso o atenuación. El número de coeficientes del filtro se
puede seleccionar considerando las relaciones entre la longitud de la ventana y la
anchura de la banda de transición.
3 Calcular los valores de h A [n ] , multiplicando muestra a muestra h I [n ] y w[n].
El método de la ventana ofrece como ventajas la simplicidad y que la atenuación de la
banda eliminada no depende del valor de la longitud de la ventana. Como inconvenientes
aparecen la desviación de las frecuencias de corte del diseño inicial al convolucionar H I (Ω )
y W (Ω ) y la falta de flexibilidad del método.

3. COMPARACIÓN ENTRE FILTROS FIR E IIR


La primera pregunta que se plantea al abordar el diseño de un filtro de tiempo discreto
se refiere a la elección entre un sistema FIR o IIR. En dicha elección intervienen numerosos
factores, y no siempre hay una opción claramente favorable. Algunas veces es conveniente
realizar dos diseños completos, uno FIR y otro IIR antes de tomar una decisión que se basará
en factores de tipo práctico como complejidad, consumo de potencia, velocidad de cálculo,
facilidad de integración, etc., o factores de tipo económico. También hay criterios técnicos
basados en las características que señalamos a continuación.
• Tratamiento Digital de Señales • 19

• FUNCIÓN DE SISTEMA: en un FIR son del tipo sólo ceros, ya que todos los polos
se encuentran en el origen, (salvo si se emplean diseños de muestreo en frecuencia).
Los sistemas IIR pueden tener sus polos y sus ceros en cualquier punto finito del
plano z, lo que proporciona mayor flexibilidad en el diseño de filtros sencillos
(método de ubicación de polos y ceros).
• MÓDULO DE LA RESPUESTA EN FRECUENCIA: se puede conseguir cualquier
distribución de bandas con cualquiera de los dos tipos de filtros. Sin embargo, hay
algunas características de amplitud, como la requerida en los sistemas
diferenciadores, que se realiza mejor con un sistema FIR. Sin embargo, los filtros
paso-todo sólo se pueden realizar con sistemas IIR, ya que los FIR tienen todos sus
polos en el origen.
• FASE DE LA RESPUESTA EN FRECUENCIA: los sistemas FIR pueden conseguir
una característica de fase exactamente lineal, mientras que los IIR sólo se pueden
aproximar a ella a costa de un gran aumento de la complejidad.
• ESTABILIDAD: los filtros FIR realizados de forma no recursiva son
intrínsecamente estables, mientras que los IIR sólo serán estables (y causales
simultáneamente) si todos sus polos están en el interior de la circunferencia unidad.
• DIFICULTAD EN EL DISEÑO: los cálculos necesarios para diseñar un filtro FIR
suelen exigir aproximaciones iterativas, mientras que los sistemas IIR suelen
diseñarse con fórmulas cerradas y transformaciones sencillas como la bilineal.
• ESTRUCTURAS: los sistemas FIR admiten realizaciones recursivas y no recursivas.
Se puede reducir el número de multiplicaciones si se emplean estructuras de fase
lineal. Sin embargo, los sistemas IIR sólo pueden realizarse con estructuras
recursivas. Lo más usual es utilizar estructuras en cascada de secciones de primer o
segundo orden, por lo que una parte importante del diseño consiste en distribuir los
polos y los ceros en distintas secciones y elegir el orden de conexión de las mismas.
• SENSIBILIDAD A LAS INTERFERENCIAS: la salida de un sistema puede verse
afectada por su estado inicial (contenido de la memoria) o por cualquier interferencia
de corta duración. Si la realización es no recursiva, lo anterior sólo ocurre durante la
longitud de la respuesta al impulso. Sin embargo, en los sistemas IIR la perturbación
puede afectar a la señal de salida indefinidamente.
• ERROR DE CUANTIFICACIÓN: en los sistemas FIR los efectos de la
cuantificación pueden hacerse irrelevantes si se utilizan longitudes de palabra a partir
de doce bits. Cuando estos filtros se realizan de forma recursiva debe conseguirse
una cancelación exacta de polos y ceros después de la cuantificación, y esto obliga a
aumentar la longitud de palabra. Para sistemas IIR la cuantificación no sólo afecta a
la respuesta en frecuencia sino que puede desplazar los polos fuera de la
circunferencia unidad del plano z, y hacer que el sistema no pueda ser
simultáneamente causal y estable. También, debido a la cuantificación pueden
producirse oscilaciones indeseadas en la salida a causa del desbordamiento o de los
ciclos límite.
• MEMORIA: los filtros FIR necesitan mucha memoria para almacenar la muestra
actual y las anteriores de la señal de entrada, así como los coeficientes del filtro. Este
inconveniente se va reduciendo con el abaratamiento y el aumento de la escala de
integración de las memorias. Los filtros IIR necesitan menos registros de
almacenamiento, ya que el número de coeficientes es menor que el equivalente FIR.
20 • Tratamiento Digital de Señales •

• EFICIENCIA: A pesar de que los sistemas IIR tienen menor número de coeficientes
que sus equivalentes FIR, puede ocurrir que el sistema FIR emplee menos tiempo
para calcular la salida que el IIR. La razón es la regularidad en las operaciones que se
realizan en un filtro no recursivo, comparada con la irregularidad necesaria para un
sistema recursivo.
• Tratamiento Digital de Señales • 21

C. CUESTIONES PREVIAS
1.- Dado un sistema cuya respuesta en frecuencia es:
⎧ − j 7Ω π
⎪e Ω<
H D (Ω ) = ⎨ 4
⎪⎩0 resto

Calcule su respuesta al impulso hD [ n ] .

2.- ¿Se trata de un sistema F.I.R. o I.I.R.?.

3.- Si realizamos la operación


hA [ n ] = hD [ n ] ⋅ w [ n ]

con
⎧1 0 ≤ n ≤ 14
w[n ] = ⎨
⎩0 resto
demuestre, a partir de los coeficientes del nuevo filtro, que presenta una característica de fase
lineal.

4.- Dado un filtro analógico caracterizado por la siguiente función de sistema:

H a (s ) =
2
(s + 1)(s + 3)
Obtenga los sistemas de tiempo discreto empleando la transformación invariante de impulso y
la bilineal.

5.- Repita la cuestión cuatro para el filtro:

H a (s ) =
(s + 2 )
(s + 1)(s + 3)
22 • Tratamiento Digital de Señales •

D. REALIZACIÓN DE LA PRÁCTICA Y PRESENTACIÓN


DE RESULTADOS
1. DISEÑO DE FILTROS IIR
1.1 Diseño de filtros IIR empleando prototipos analógicos
En este apartado se va a partir de un prototipo analógico para convertirlo en un sistema
digital empleando las transformaciones invariante de impulso y bilineal.
Se desea diseñar un sistema para procesar una señal analógica xa(t) (limitada en banda a
3 kHz) con un filtro digital como se indica en la figura.

Los requisitos exigidos al módulo de la respuesta en frecuencia H ( jω ) son:

• Debe ser mayor que 0'89125 en la banda de frecuencias comprendidas entre 0 y 800
Hz.
• No debe superar 0'001 a partir de los 1400 Hz.
a) Represente la plantilla de especificaciones del módulo de la respuesta en frecuencia,
expresada en dB's, del filtro analógico H ( jω ) que se desea simular.

b) Obtenga la plantilla de especificaciones del módulo de la respuesta en frecuencia,


expresada en dB's, del filtro discreto H D ( e jΩ ) de respuesta al impulso real que cumpla lo
indicado.
• Tratamiento Digital de Señales • 23

c) El diseño del filtro anterior se decide realizar a partir de un prototipo analógico


H c ( jω ) y empleando la transformación invariante de impulso. Obtenga la plantilla de
especificaciones del módulo de la respuesta en frecuencia de dicho filtro analógico.
Considere Td =2.

d) Calcule el orden del filtro elíptico analógico que cumple las especificaciones de la
plantilla, y obtenga la función de sistema H c (s ) que lo caracteriza.

e) Convierta el prototipo analógico H c (s ) en uno digital H D (z ) mediante la


transformación invariante de impulso, y dibuje el módulo de la respuesta en frecuencia.

-20

-40
dB

-60

-80

-100
0 1 2 3 4

f) Si el diseño del filtro analógico inicial se decide realizar empleando la transformación


bilineal, obtenga la plantilla de especificaciones del módulo de la respuesta en frecuencia del
nuevo filtro analógico prototipo. Considere Td =2.
24 • Tratamiento Digital de Señales •

g) Calcule el orden del filtro elíptico analógico que cumple las especificaciones de la
plantilla del apartado f, y obtenga la función de sistema H c (s ) que lo caracteriza.

h) Convierta el prototipo analógico H c (s ) en uno digital H D (z ) mediante la


transformación bilineal. Dibuje el módulo de la respuesta en frecuencia del nuevo filtro.

-20

-40
dB

-60

-80

-100
0 1 2 3 4
:
i) Comente los resultados.

1.2 Diseño de fitros IIR por ubicación de polos y ceros


Para eliminar el ruido de la red eléctrica introducido de forma indeseada en una señal
de electrocardiograma muestreada a 1000 Hz, se procede a diseñar un filtro digital de orden
dos con respuesta al impulso real empleando el método de ubicación de polos y ceros, de
manera que cumpla las siguientes especificaciones:
• Frecuencia a eliminar: 50 Hz
• Ancho de la banda eliminada a 3 dB: ± 10 Hz
• H ( z ) z =1 = 1
• Tratamiento Digital de Señales • 25

Suponga que la relación entre el módulo de los polos (r) y el ancho de banda a 3 dB
(BW) es:
⎛ BW ⎞
r ≈ 1 − ⎜⎜ ⎟⎟ ⋅ π para r > 0.9
⎝ fs ⎠
a) Representar el diagrama de polos y de ceros de la función de sistema del filtro.
1.5

0.5

-0.5

-1

-1.5

b) Representar el módulo de la respuesta en frecuencia.

20

-20
dB`s

-40

-60

-80

-100

-120
0 1 2 3 4

c) Representar la respuesta al impulso del filtro.


26 • Tratamiento Digital de Señales •

2. DISEÑO DE FILTROS FIR


2.1 Método de la Ventana
2.1.1 Ventanas
En este apartado se van a estudiar distintas funciones de ventana, útiles tanto en el
diseño de filtros digitales como en el análisis espectral de secuencias de larga duración. Se
pretende observar la forma de la ventana en el dominio del tiempo y su correspondiente
espectro de amplitud, analizando cómo influye en este último la longitud empleada en cada
caso. La elección correcta de la ventana consiste en optar por aquella que llegue a un buen
compromiso entre un lóbulo principal estrecho (que conducirá a un filtro muy selectivo) y
lóbulos laterales de amplitud reducida (disminuye la distorsión en las bandas de paso y
atenuada).
a) Observar la forma de las ventanas rectangular, triangular, de Hanning, de Hamming y
de Kaiser (con ß=7'865) para unas longitudes de 128 y 64 muestras. Dibuje en escala
semilogarítmica el módulo del espectro para las tres ventanas, e indique los valores de ALSmáx
(amplitud máxima relativa de los lóbulos secundarios, en dB’s), ωLS (pulsación que se
corresponde con ALSmáx) y aLP (anchura del lóbulo principal).

L = 128:
VENTANA ALSmáx (dB) ωLS aLP
RECTANGULAR
TRIANGULAR
HANNING
HAMMING
KAISER

L = 64:
VENTANA ALSmáx (dB) ωLS aLP
RECTANGULAR
TRIANGULAR
HANNING
HAMMING
KAISER
• Tratamiento Digital de Señales • 27

b) ¿Es función de la longitud de la ventana la amplitud de los lóbulos secundarios?.

¿Y la anchura del lóbulo principal?.

2.1.2 Filtros enventanados


En este apartado se pretende diseñar un filtro FIR causal de fase lineal empleando el
método de la ventana. Para ello se va a partir de la respuesta en frecuencia de un filtro ideal
indicada en la figura 1.8, imponiéndole la plantilla de especificaciones que aparece en la
figura 1.9.

fig. 1.8: respuesta en frecuencia deseada

fig. 1.9: plantilla de especificaciones del filtro a diseñar

El sistema resultante hD [ n ] (una función sinc) es no causal. Para convertirlo en causal


hay que aplicar la propiedad de desplazamiento en el tiempo.
hD [n ] → H D (Ω )
hD [n − no ] → H D (Ω ) ⋅ e − jΩno
a) Genere algunas muestras de la respuesta al impulso ideal desplazada empleando los
siguientes comandos:
x=1:63;
t=0.2*(x-32)/pi;
hi=0.2*sinc(t)/pi;
28 • Tratamiento Digital de Señales •

Una vez obtenida, trunque dicha respuesta al impulso empleando las ventanas
rectangular, de Hamming y de Kaiser (ß=7'865) de longitud 63. Dibuje el módulo de la
respuesta en frecuencia de los filtros enventanados, representando con detalle las bandas de
paso y transición.
• Módulo del espectro para la ventana rectangular (L = 63)
20

-20
dB`s

-40

-60

-80

-100

-120
0 1 2 3 4

• Banda de paso y transición para la ventana rectangular (L = 63):


5

-5

-10
dB`s

-15

-20

-25

-30

-35
0 0.1 0.2 0.3 0.4

• Módulo del espectro para la ventana de Hamming (L = 63):

20

-20
dB`s

-40

-60

-80

-100

-120
0 1 2 3 4
• Tratamiento Digital de Señales • 29

• Banda de paso y transición para la ventana de Hamming (L = 63):

-5

-10
dB`s

-15

-20

-25

-30

-35
0 0.1 0.2 0.3 0.4

• Módulo del espectro para la ventana de Kaiser (L = 63):

-20

-40

-60
dB´s

-80

-100

-120

-140

-160
0 1 2 3 4

• Banda de paso y transición para la ventana de Kaiser (L = 63):

-5

-10
dB`s

-15

-20

-25

-30

-35
0 0.1 0.2 0.3 0.4
30 • Tratamiento Digital de Señales •

b) Indique los filtros enventanados (L=63) que cumplen las condiciones de diseño.

c) Repita el apartado "a" cambiando la longitud de las ventanas de L=63 a L=127. Para
ello debe modificar los comandos anteriormente propuestos:
x=1:127;
t=0.2*(x-64)/pi;
hi=0.2*sinc(t)/pi;
• Módulo del espectro para la ventana rectangular (L = 127):

20

-20
dB`s

-40

-60

-80

-100

-120
0 1 2 3 4

• Banda de paso y transición para la ventana rectangular (L = 127):

10

-10

-20
dB

-30

-40

-50

-60
0 0.1 0.2 0.3 0.4
• Tratamiento Digital de Señales • 31

• Módulo del espectro para la ventana de Hamming (L = 127):

20

-20

-40
dB

-60

-80

-100

-120
0 1 2 3 4

• Banda de paso y transición para la ventana de Hamming (L = 127):

10

-10

-20
dB

-30

-40

-50

-60
0 0.1 0.2 0.3 0.4

• Módulo del espectro para la ventana de Kaiser (L = 127):

-20

-40

-60
dB´s

-80

-100

-120

-140

-160
0 1 2 3 4
32 • Tratamiento Digital de Señales •

• Banda de paso y transición para la ventana de Kaiser (L = 127):

10

-10

-20
dB

-30

-40

-50

-60
0 0.1 0.2 0.3 0.4

d) Indique los filtros enventanados (L=127) que cumplen las condiciones de diseño.
• Tratamiento Digital de Señales • 33

2.2 Método de Parks-McClellan. Eliminación mediante un filtro FIR


del ruido de red de una señal de electrocardiograma (ecg).
Una característica muy común a los circuitos electrocardiógrafos consiste en que a la
señal que digitaliza le suele añadir, de manera indeseada, un ruido proveniente de la red
eléctrica convencional y que se suele centrar en torno a los 50 Hertzios. De esta forma, la
señal del electrocardiograma se encuentra empobrecida con un ruido que es necesario
eliminar.
Se va a partir de un registro de 4000 muestras de una señal de electrocardiograma
muestreada a 1000 Hz, denominado elecnois.mat.
a) Representar la forma de la señal de ecg en el dominio del tiempo, observando la
presencia del ruido de la red.

b) Representar el módulo del espectro de la señal de ecg.

En el proceso de eliminación del ruido de la red se desea utilizar un filtro FIR banda
eliminada por las características de fase lineal que pueden ofrecer este tipo de sistemas. Se
sigue el procedimiento indicado en la figura 1.10, es decir, diseñar directamente el filtro y
eliminar el ruido.

fig. 1.10: diseño de un filtro banda eliminada.


34 • Tratamiento Digital de Señales •

Las especificaciones del filtro deseado son las siguientes:


Banda eliminada: 47-53 Hz
Frecuencias de corte de la banda de paso: 44-56 Hz
Atenuación mínima de la banda eliminada: 50 dB
Desviación de la banda de paso: 0'122
Frecuencia de muestreo: 1000 Hz
c) Obtener el orden del filtro empleando la instrucción firordm.m.

Diseñar a continuación el sistema empleando el método de Parks-McClellan. Para ello


utilice los siguientes comandos:
f = [0 0.088 0.094 0.106 0.112 1];
m = [1 1 0 0 1 1];
bk=remez (orden_filtro, f, m);
d) Representar el módulo de la respuesta en frecuencia del filtro del filtro obtenido.

e) Realizar el proceso de filtrado empleando la instrucción filter. Representar la señal de


ecg filtrada en el dominio del tiempo, observando la ausencia del ruido de la red.

f) Representar el módulo del espectro de la señal de ecg filtrada.


Práctica de Efectos de la Cuantificación de los
Coeficientes de Filtros Digitales

A. OBJETIVOS
En esta práctica se introducen las características más importantes de los filtros digitales,
y se establece una comparativa con los tradicionales filtros analógicos. En los fundamentos
teóricos se proponen las etapas que se deben tener en consideración para diseñar y construir
con éxito un filtro digital. De todas las etapas, se desarrollan con mayor profundidad las de
realización empleando una estructura y los análisis de longitud de palabra finita, ya que serán
las etapas que se considerarán en el laboratorio.
Se pretende poner de manifiesto la problemática de la realización de filtros digitales
empleando aritmética finita a partir de unas especificaciones dadas. Nos limitaremos al
estudio de los efectos producidos por la cuantificación de los coeficientes del filtro,
analizando con detalle la importancia de las estructuras empleadas para filtros de orden
elevado.
Se representarán los módulos de las respuestas en frecuencia de los filtros utilizando
precisión infinita y cuantificando con determinado número de bits. De esta forma se
observarán las diferencias existentes y se podrá estimar la longitud de los registros de
almacenamiento para que la degradación de las características sea aceptable.

35
36 • Tratamiento Digital de Señales •

B. FUNDAMENTOS TEÓRICOS

1. CARACTERÍSTICAS DEL FILTRADO DIGITAL


Un filtro es un sistema que va a producir cambios selectivos en las características de
amplitud y/o fase de una señal. Se suelen emplear para mejorar la calidad de una señal
(reduciendo el ruido), extraer información o separar dos o más señales (como se suele hacer
en los sistemas de comunicaciones).
Un filtro digital es un algoritmo matemático basado en multiplicaciones y sumas, donde
el término digital hace referencia al sistema que realiza las operaciones.
Los filtros digitales pueden proporcionar un comportamiento selectivo en frecuencia
como los analógicos (paso-bajo, paso-banda, banda-eliminada, etc.). Las técnicas de diseño
son específicas, o en ocasiones, se basan en los sistemas analógicos.
En la comparación con los filtros analógicos, podemos encontrar las siguientes ventajas:
• Pueden fabricarse en circuitos digitales de propósito general de alto rendimiento o de
aplicación específica. Si son programables, podemos reajustar la respuesta en
frecuencia del filtro (útil en filtrado adaptativo).
• En algunos tipos de filtros digitales, la estabilidad está garantizada.
• No hay problemas de adaptación de impedancias.
• Algunos filtros consiguen una linealidad de fase excelente.
• No precisan ajustes ni se degradan con el tiempo.
• Varias señales de entrada o canales pueden ser filtradas sin necesidad de añadir más
circuitería.
• Gracias a la tecnología VLSI se pueden construir filtros digitales en tamaños muy
reducidos, de bajo consumo y de precio pequeño.
• En la práctica, la precisión de los filtros analógicos está limitada. Por ejemplo, para
conseguir niveles de atenuación de 60 ó 70 dB en la banda eliminada debemos
emplear filtros activos especiales. En los filtros digitales la precisión viene limitada
por la longitud de palabra que se utilice.
• Son fácilmente reproducibles.
• Se pueden emplear en la región de muy bajas frecuencias (útil en aplicaciones
biomédicas).
• Pueden modificar el rango de trabajo cambiando la frecuencia de muestreo.
Como desventajas cabe destacar las siguientes:
• Limitación de velocidad: el ancho de banda de las señales con que pueden operar es
mayor para filtros analógicos que para digitales. En situaciones de tiempo real vamos
a encontrar limitaciones con los convertidores A/D y con el tiempo de asentamiento
("settling") del convertidor D/A, restringiendo la frecuencia máxima de muestreo.
Además, la velocidad del filtro digital va a depender de la velocidad del sistema
digital de procesamiento que se emplee y del número de operaciones aritméticas que
aparezcan en el algoritmo.
• Efectos de la longitud de palabra finita: en el sistema digital aparecerán, entre otros,
ruidos debidos a la cuantificación de la señal de entrada del convertidor A/D, y al
• Tratamiento Digital de Señales • 37

redondeo/truncamiento ocurrido durante los cálculos. Cuantos más lazos recursivos


haya, más se acumulan dichos ruidos, pudiendo llevar al sistema a la inestabilidad.
• Requieren mucho tiempo en el desarrollo: puede ser mucho mayor que en los
analógicos. Sin embargo, una vez diseñados, pueden emplearse para otros algoritmos
de tratamiento de señal.
Existen diferentes formas de representar un filtro LTI. Destacamos las más empleadas:
• A través de su función de sistema (2.1) donde X ( z ) e Y ( z ) son las transformadas Z
de las secuencias de entrada y salida respectivamente. Se trata de una función de
transferencia, acompañada de la correspondiente región de convergencia.
Υ (z )
Η (z ) = (2.1)
Χ (z )
• Para estudiar el comportamiento en frecuencia se calcula H ( z ) sobre la
circunferencia unidad (si es posible), con lo que se obtiene la respuesta en frecuencia
H ( Ω) de dicho filtro, donde Ω es la frecuencia digital expresada en radianes.

• Dicha respuesta en frecuencia es la transformada de Fourier de la respuesta al


impulso h[n] , la cual es una función de tiempo discreto y caracteriza al sistema.
• Empleando una estructura, o el algoritmo a que da lugar.
• Con el diagrama de polos y ceros y la región de convergencia queda definido el
sistema, salvo una constante.
Cuando la respuesta en frecuencia del filtro se especifica para la frecuencia analógica
"ω", y se desean mantener estas especificaciones en el filtro digital, es preciso realizar
transformaciones que distorsionan la relación entre "Ω" y "ω". Estas distorsiones deben
tenerse en cuenta al traducir la especificación analógica en la digital.

2. ETAPAS EN EL DISEÑO DE FILTROS DIGITALES


El diseño de filtros consta de cinco etapas:
1. Especificación de los requisitos de filtro.
2. Cálculo de los coeficientes del filtro (aproximación).
3. Representación del filtro empleando una estructura (realización).
4. Análisis de los efectos de la longitud de palabra finita.
5. Construcción del filtro empleando software y/o circuitería.
Estos cinco pasos no son siempre necesarios, ni el orden dado es el que siempre se
sigue. Hay veces en que se solapan varias etapas.
Para llegar al filtro deseado, puede ser necesario iterar unas cuantas veces algunos de
los pasos, tal y como se indica en la figura 2.1.
38 • Tratamiento Digital de Señales •

fig. 2.1: esquema propuesto para el diseño de un filtro digital.

2.1 Especificación de los requisitos


En esta primera etapa se suele aportar la siguiente información:
• Características de la señal: aspectos de la señal de entrada y salida (fuente y
sumidero), interface I/O, mayor o máxima frecuencia de interés, etc. .
• Características del filtro: módulo y fase de la respuesta en frecuencia deseadas, así
como las tolerancias permitidas, la velocidad de operación y el modo de realización
del filtro (si es tiempo real, o por lotes ("batch")).
• La forma de construirlo: si es por programación, o empleando circuitería.
• Otros aspectos: por ejemplo, el coste del filtro.
Las características del filtro digital se suelen especificar en el dominio de la frecuencia.
Para filtros selectivos (como paso bajo), las especificaciones del módulo de la respuesta en
frecuencia del filtro se dan como esquemas de tolerancia o de atenuación.
En la figura 2.2 se muestra un ejemplo de esquema de tolerancia para las amplitudes.
Las líneas rayadas indican los límites permitidos. Se tienen una serie de parámetros:
δp : desviación de la banda de paso
δs : desviación de la banda eliminada
• Tratamiento Digital de Señales • 39

Ωp : pulsación de corte de la banda de paso


Ωs : pulsación de corte de la banda eliminada

fig. 2.2: esquema de tolerancia para un filtro FIR paso bajo.

Las frecuencias de corte a menudo se dan normalizadas con respecto a la frecuencia de


muestreo: Ω ω s .
La desviación de las bandas de paso y eliminada se pueden expresar en escala lineal o
en decibelios. De esta manera, se especifican el rizado de la banda de paso y la atenuación
mínima de la banda eliminada (expresiones (2.2) y (2.3)).
Ap = −20 ⋅ log(1 + δ p ) (2.2)

As = −20 ⋅ log(δ s ) (2.3)


Para filtros de respuesta al impulso infinita (IIR) el rizado de la banda de paso
tradicionalmente se indica como la diferencia entre el máximo y el mínimo de la desviación
en la banda de paso. Sin embargo, para filtros de respuesta al impulso finita (FIR) dicho
rizado se suele referir a la diferencia entre la respuesta ideal y la máxima (o la mínima)
desviación permitida en la banda de paso, tal y como se indica en la figura 2.2.
La fase de la respuesta en frecuencia no se especifica de manera tan meticulosa como el
módulo. En bastantes ocasiones es suficiente indicar que se desea una característica de fase
lineal. Sin embargo, hay aplicaciones donde los filtros se emplean para compensar respuestas
en fase, siendo necesario en éstos especificar dicha fase con mayor detalle.

2.2 Aproximación o cálculo de los coeficientes


En esta etapa se selecciona un método de aproximación para calcular los valores de los
coeficientes del filtro h[n] si es un filtro F.I.R., o ak y bk si se trata de un filtro I.I.R.. Se
pretende que la respuesta en frecuencia cumpla las especificaciones establecidas en la etapa
anterior.
Hay distintos métodos, dependiendo de si desea un filtro F.I.R. o I.I.R.. Destacamos:
• Invarianza de impulso (IIR)
• Transformación bilineal (IIR)
• Ubicación de polos y ceros (IIR o FIR)
• Ventana (FIR)
40 • Tratamiento Digital de Señales •

• Muestreo en frecuencia (FIR)


• Parks-McClellan (FIR)

2.3 Representación del filtro empleando una estructura


La etapa de realización implica convertir la función de sistema en una estructura
aprovechable. Se emplean con frecuencia diagramas de bloques o flujogramas. La estructura
va a indicarnos el procedimiento computacional que hay que seguir para construir el filtro
digital y va a depender de si deseamos un sistema FIR o IIR.

2.3.1 Estructuras para sistemas IIR


Dada una función de un sistema discreto, se pueden obtener una gran variedad de
estructuras equivalentes. Se estudiarán algunas de las más empleadas.
2.3.1.1 Formas directas
Como su nombre indica se obtienen como reflejo inmediato de las operaciones
indicadas en la ecuación en diferencias. Para la expresión (2.4) la primera forma directa es la
representada en la figura 2.3.
M Ν
y[n ] = ∑ bk x[n − k ] + ∑ a k y[n − k ] (2.4)
k =0 k =1

fig. 2.3: flujograma de la forma directa I para N=M.

Si trabajamos con sumadores de dos entradas estamos imponiendo un orden en la


realización de las sumas. En la figura 2.3 se obtiene en primer lugar v[n], y luego y[n], que
son las indicadas en las expresiones (2.5) y (2.6).
M
v[n ] = ∑ bk x[n − k ] (2.5)
k =0
Ν
y[n ] = v[n ] + ∑ ak y[n − k ] (2.6)
k =1
• Tratamiento Digital de Señales • 41

Este diagrama de bloques puede modificarse sin que cambie la función de sistema, de
manera que se obtenga otra estructura equivalente. Por ejemplo, se puede ver el diagrama de
la primera forma directa como la asociación en cascada de dos sistemas, cada uno con su
correspondiente función de transferencia (figura 2.4a). Si las condiciones iniciales son nulas,
los dos sistemas son LTI y se puede cambiar el orden de la asociación en cascada sin
modificar la relación entrada-salida del conjunto (figura 2.4b).
⎛M ⎞

Η (z ) = ⎜ bk z −k ⎟ ⋅
1
(2.7)
⎜ ⎟ Ν
⎝ k =0 ⎠ 1−
∑ a k z −k
k =1

fig. 2.4: diagramas de bloques equivalentes para sistemas LTI.

La estructura así obtenida, eliminando registros de memoria innecesarios, se denomina


segunda forma directa y es canónica con respecto al número de registros de almacenamiento,
ya que es el menor posible. Dicha estructura está representada en la figura 2.5, suponiendo
N=M.

fig. 2.5: flujograma de un filtro según la forma directa II para N=M.

Esta sección canónica es la más popular ya que presenta unas buenas propiedades con
respecto al ruido de redondeo y requiere un número mínimo de elementos de retardo. El
problema estriba en que puede ocurrir desbordamiento ("overflow") en nodos internos de la
42 • Tratamiento Digital de Señales •

red. Para evitarlo es necesario escalar la entrada con respecto a los nodos conflictivos, de
acuerdo con unos criterios. Sin embargo, el escalado no es obligatorio para la forma directa I,
ya que contiene un único sumador, y aunque se sature este sumador en algún resultado
intermedio, el resultado final puede ser correcto. Por este motivo, estas últimas estructuras se
emplean en el diseño de filtros de audio de hi-fi, ya que no hay necesidad de escalar la
entrada.
Para secciones bicuadráticas existe una realización alternativa que se denomina forma
acoplada (figura 2.6). Una sección bicuadrática según la forma directa II con los mismos
polos que la anterior es más sensible al ruido de cuantificación de los coeficientes en
determinadas zonas (por ejemplo, cercanas a 0 ó π) que la forma acoplada. Sin embargo, el
precio que se paga en este último caso es que se incrementa el número de operaciones, lo cual
conlleva mayor tiempo de ejecución. Además, no se puede usar de manera sencilla cuando
aparecen funciones de transferencia con coeficientes de segundo orden en el numerador.

fig. 2.6: flujograma de la forma acoplada.

2.3.1.2 Formas traspuestas


Hay otras dos formas directas (III y IV) que se obtienen inmediatamente a partir de las
formas I y II por aplicación de la propiedad de transposición. Esta propiedad nos dice que si
en un diagrama (grafo) cambiamos la orientación de todas las ramas e intercambiamos la
entrada y la salida, la función de sistema no varía. Para la tercera forma directa el grafo es el
representado en la figura 2.7. La cuarta forma directa se obtiene mediante transposición de la
segunda y también es canónica con respecto al número de elementos de retardo. Si M=N, se
tiene el diagrama de flujo de la figura 2.8.
Las formas directas presentan las siguientes características:
• Sus coeficientes coinciden con los coeficientes de la función del sistema, y no se
necesitan operaciones adicionales para obtenerlos.
• Tienen el menor número posible de multiplicaciones y dos de ellas (la II y la IV) son
canónicas en cuanto a células de retardo.
• Tienen un mal comportamiento frente a los problemas derivados de la limitación de
la longitud de palabra, sobre todo cuando el orden es elevado.
• Trabajan bien en secciones de primer y segundo orden.
• Tratamiento Digital de Señales • 43

fig. 2.7: flujograma según la forma directa III para N=M.

fig. 2.8: flujograma según la forma directa IV para N=M.

2.3.1.3 Formas indirectas


Las formas directas no resultan útiles cuando el orden de la función a realizar es
elevado, ya que su sensibilidad con respecto a la cuantificación de los coeficientes aumenta
enormemente con el grado de la función. Para evitar este problema se suelen descomponer las
funciones del sistema como suma o producto de funciones de primer y segundo orden, las
cuales podrán realizarse según algunas de las formas directas estudiadas, preferiblemente la
segunda o la cuarta.
Cascada
Se basa en descomponer la función del sistema en productos de funciones de primer y
segundo orden. Esta descomposición no es única ya que, en primer lugar, se pueden
emparejar los polos y los ceros de diversas maneras y, en segundo lugar, la conexión de los
subsistemas se puede llevar a cabo de distintas formas.
En la descomposición en cascada seguimos las siguientes etapas (suponemos M ≤ N ,
pero en caso contrario habrá que añadir al diagrama de bloques una etapa FIR).
44 • Tratamiento Digital de Señales •

1) Factorizamos los polinomios N ( z ) y D( z ) , agrupando las raíces conjugadas para que


no aparezcan coeficientes complejos (expresión (2.8)).

∏ (1 − g k ⋅ z )∏ (1 − hk ⋅ z −1 )⋅ (1 − hk* ⋅ z −1 )
M1 M2
−1

H (z ) = A ⋅ k =1 k =1
(2.8)
∏ (1 − ck ⋅ z )∏ (1 − d k ⋅ z )⋅ ( )
N1 N2
−1 −1 −1
1 − d k* ⋅z
k =1 k =1

donde M = (M 1 + 2 ⋅ M 2 ) , N = (N 1 + 2 ⋅ N 2 ) , g k y ck son reales, y hk y d k son


complejos.
Esto ocurre cuando los coeficientes bk y a k de H ( z ) son reales.
Si elegimos estructuras de orden dos habrá que agrupar también los polos y ceros
reales por parejas (siempre que sea posible).
2) Expresamos H ( z ) como producto de funciones de segundo orden (expresión (2.9)),
donde N s es el menor entero mayor o igual que N 2 .
−1
+ b2 k ⋅ z −2
Ns
b +b ⋅z
H (z ) = ∏ 0k 1k −1 (2.9)
k =1 1 − a1k ⋅ z − a2k ⋅ z − 2

3) Se realizan las funciones H k ( z ) en las formas directas II ó IV y se conectan en


cascada como indica la figura 2.9.

fig. 2.9: conexión en cascada de sistemas LTI.

Hay muchas formas diferentes de emparejar polos y ceros para formar cada una de las
H k (z ) . Teóricamente la función global es la misma, pero en la práctica (debido a la
aritmética finita) existen grandes diferencias entre unas y otras. También aparecen distintas
realizaciones según el orden de conexión de las etapas.
Un criterio de selección que reduce la sensibilidad es el siguiente:
• Los polos más próximos a la circunferencia unidad deben emparejarse con los ceros
que tienen más próximos en el plano Z.
• Se debe repetir el punto anterior hasta que todos los polos y los ceros han sido
emparejados.
• Las secciones de segundo orden resultantes deben ordenarse situándolas de manera
que los polos se vayan alejando de la circunferencia de radio uno, o en orden inverso.
Esta forma de emparejar los polos y los ceros se basa en la experiencia de diversos
autores. Los picos elevados de ganancia son indeseables, ya que pueden ocasionar saturación,
amplificando además el ruido de cuantificación. Emparejar un polo próximo a la
• Tratamiento Digital de Señales • 45

circunferencia de radio unidad con el cero más cercano a él puede reducir considerablemente
esos picos de ganancia.
En la figura 2.10 se representa un ejemplo de conexión en cascada para un sistema de
sexto orden, empleando la forma directa II para cada una de las subsecciones.

fig. 2.10: conexión en cascada de un sistema de sexto orden empleando subsecciones según la forma directa II.

Paralelo
La conexión en paralelo se basa en descomponer la función de partida H ( z ) en suma de
funciones de primer y segundo orden según la expresión (2.10), donde N = (N1 + 2 ⋅ N 2 ) es el
grado del denominador y M es el grado del numerador, de manera que si M ≥ N , entonces
N p = (M − N ) . En caso contrario, el primer sumatorio sería nulo.
Np


N1

∑ (1 − c
N2
(
Bk ⋅ 1 − ek ⋅ z −1 )
H (z ) =
) k∑=1 (1 − d k ⋅ z −1 )(1 − d k* ⋅ z −1 )
−k Ak
Ck ⋅ z + −1
+ (2.10)
k =0 k =1 k ⋅z

Si los coeficientes a k y bk de H ( z ) son todos reales, también lo serán las constantes


Ak , Bk , C k , pk y ek , pudiendo agrupar los polos por parejas, obteniendo (2.11), donde N s
es la parte entera de ( N + 1) 2 .
Np Ns
(e0k + e1k ⋅ z −1 )
H (z ) = ∑ Ck ⋅ z −k
+ ∑ (1 − a −1
− a 2k ⋅ z − 2 ) (2.11)
k =0 k =1 1k ⋅ z

El esquema general para una realización en paralelo consta de una sección FIR (que
puede no aparecer) y N s secciones IIR de segundo orden conectadas en paralelo.
H (z ) = H FIR (z ) + H 1 (z ) + " + H N s (z ) (2.12)

Una realización para un sistema de sexto orden podría ser la dibujada en la figura 2.11.
Analicemos esta realización junto con la cascada. Observando esta segunda conexión se
comprueba que los coeficientes {bik } van a dar directamente las posiciones de los ceros. Si
cuantificamos los coeficientes (empleando precisión finita), se podrá controlar directamente la
posición de los polos y ceros (aumentando el número de bits). Es posible evaluar directamente
en cada subsección el error cometido para una precisión dada, efectuando un control directo.
Sin embargo, la realización en paralelo sólo controlará directamente la posición de los polos,
ya que los coeficientes {c ik } de cada bloque no representan los ceros de la función de sistema
total.
46 • Tratamiento Digital de Señales •

fig. 2.11: conexión en paralelo de un sistema de sexto orden empleando subsistemas según la forma directa II.

La realización en cascada es más robusta, siendo la paralela más rápida. Para sistemas
IIR con los ceros de la función de sistema en z = 1 , la realización en cascada se puede llevar
a cabo con menos multiplicadores y más control sobre la posición de los ceros.

2.3.2 Estructuras para sistemas FIR


La función de sistema de un filtro F.I.R. puede expresarse como un polinomio en z −1 , y
se caracteriza por tener (L − 1) polos en z = 0 y (L − 1) ceros situados en cualquier punto
finito del plano z (si h[n] es real deben aparecer por parejas conjugadas).
Los sistemas FIR admiten realizaciones recursivas (únicas posibles para los I.I.R.) y no
recursivas. Vamos a estudiar sólo algunas de éstas.
2.3.2.1 Forma directa
Se obtiene directamente a partir de la suma de convolución, la cual coincide en un F.I.R.
con su ecuación en diferencias. Esta estructura también es conocida como transversal o de
"retardo derivado" (tapped delay). Se representa en la figura 2.12.
La muestra de salida y[n] se calcula con los siguientes requisitos:
• (L − 1) posiciones de memoria para almacenar las muestras de señal retardada.
• L posiciones de memoria para almacenar los coeficientes.
• L multiplicaciones.

• (L − 1) sumas.
• Tratamiento Digital de Señales • 47

fig. 2.12: estructura directa para una sistema FIR, con L=N.

Como se puede apreciar, la forma directa para los FIR es un caso particular de la
primera o segunda forma directa de los IIR, cuando todos los coeficientes a k son nulos. Si
hacemos uso de la propiedad de transposición, obtenemos la forma traspuesta equivalente
(figura 2.13).

fig. 2.13: estructura traspuesta para una sistema FIR.

2.3.2.2 Conexión en cascada


Se obtiene factorizando el polinomio H ( z ) y conectando en cascada la realización de
cada factor por separado. Si elegimos subsistemas de segundo orden, se tiene la expresión
(2.13), que se puede representar mediante el grafo de la figura 2.14.

H (z ) = ∏ (b0k + b1k ⋅ z −1 + b2 k ⋅ z − 2 )
Ns
(2.13)
k =1

fig. 2.14: conexión en cascada de un sistema FIR con subestructuras de orden dos.

2.3.3 Elección entre las estructuras


Para optar por una de las estructuras anteriores habrá que considerar los siguientes
criterios:
a) Si se trata de un sistema IIR o FIR.
48 • Tratamiento Digital de Señales •

b) La facilidad de construcción. Se puede elegir las estructuras menos complejas porque


sean más rápidas, ocupen menor espacio o resulten más baratas.
c) Cómo de sensible es la estructura a los efectos de longitud finita de palabra, ya que
en ocasiones interesa más obtener estructuras que tengan un buen comportamiento
frente a la limitación de la longitud de palabra.
Las formas directas son muy fáciles de programar, y existen en el mercado procesadores
digitales de señal (DSP’s) y programas como el MATLAB que cuentan con instrucciones para
llevarlas a cabo. Por otro lado, la estructura en cascada es menos sensible que la anterior a los
efectos de cuantificación de coeficientes de la función del sistema del filtro, como se verá en
la realización de la práctica. Sin embargo, el cálculo de los coeficientes es más complicado, y
no está disponible como instrucción en programas o procesadores destinados al tratamiento
digital de la señal.
Para filtros de banda estrecha es muy eficiente la estructura de muestreo en frecuencia
(para sistemas FIR). Sin embargo, en esta estructura puede aumentar la complejidad
computacional, y existe la posibilidad de que se vuelva inestable al cuantificar los coeficientes
(desplazan los polos y los ceros de H ( z ) deseados). Para evitar problemas de estabilidad, los
polos y los ceros de la función de sistema se diseñan muy próximos a la circunferencia
unidad, pero no situados sobre ella. Esta última estructura es la que hay que elegir cuando se
desea una construcción recursiva de sistemas FIR.

2.4 Análisis de los efectos de la longitud de palabra finita


En las etapas de aproximación y realización se asume precisión infinita. Sin embargo,
cuando se lleva a cabo la realización práctica del sistema es necesario representar los
coeficientes del filtro empleando un número limitado de bits y usar precisión finita en las
operaciones aritméticas de la ecuación en diferencias.
Lo anterior se deriva de que las ecuaciones que se emplean para describir los filtros
digitales están idealizadas, ya que utilizan coeficientes y secuencias de muestras de precisión
infinita. Sin embargo, las realizaciones prácticas se llevan a cabo con elementos con precisión
limitada, medida en número de bits. Por esta razón, el análisis de un filtro digital no termina
hasta que no se determinan los efectos producidos por dicha precisión finita.
Los datos en un sistema digital se representan como conjuntos de números binarios con
dos formatos aritméticos posibles:
• Coma fija, basada en la representación Qn . Suponiendo que la longitud del código
que se emplea es de A bits, se emplean n bits para la parte fraccionaria y A − n bits
para el módulo y el signo. El margen dinámico es reducido y puede presentar serios
problemas de desbordamiento.
• Coma flotante, la cual utiliza una factorización mantisa-exponente. Los bits
dedicados a representar la mantisa dan cuenta de la precisión mientras que los del
exponente se relacionan con el margen dinámico, solventando en este aspecto el
problema de la coma fija.
El efecto de la cuantificación se mantiene constante para el sistema de coma flotante
durante un gran margen de valores de la cantidad que se cuantifica. Sin embargo, en los
sistemas de coma fija este tipo de distorsión depende del valor a cuantificar y sólo es
comparablemente alto para un margen dinámico mucho menor. Desde el punto de vista del
• Tratamiento Digital de Señales • 49

coste del filtro es más cara la circuitería que opera en coma flotante y suele conllevar un
mayor consumo eléctrico que la de coma fija.
Pueden aparecer formatos sin signo y con signo, reservando el bit de mayor peso para
indicar si se trata de un número positivo o negativo (si se trata de números con signo). Los
números negativos se representan en complemento a uno o en complemento a dos.
Los efectos de usar un número finito de bits serán degradar la respuesta del filtro y en
algunos casos hacerla inútil. El diseñador debe analizar estos efectos y elegir longitudes de
palabra adecuadas (es decir, un número suficiente de bits) para los coeficientes del filtro, las
variables del filtro (las muestras de entrada y salida) y para las operaciones aritméticas.
Las principales fuentes de degradación al efectuar el filtrado son:
a) Cuantificación de las señales de entrada y reconstrucción de las de salida.
b) Cuantificación de los coeficientes del sistema.
c) Errores aritméticos de redondeo y/o truncamiento.
d) Errores de desbordamiento, los cuales ocurren al sumar o acumular resultados
parciales en un registro de longitud limitada y cuando el resultado excede del valor
máximo representable.
La degradación de estos errores depende de la longitud de palabra y del tipo de
aritmética usada para desarrollar el filtro, del método empleado para cuantificar los
coeficientes y las variables, y de la estructura del filtro. De los conocimientos de estos
factores el diseñador puede reducir los efectos indeseados.
En la realización de la práctica se van a analizar los efectos producidos al cuantificar los
coeficientes de la función del sistema, y se va a estudiar la importancia que tiene la estructura
elegida. Se operará con datos en coma fija con truncamiento, y corrigiendo el desbordamiento
mediante saturación.

2.4.1 Análisis de la sensibilidad a la cuantificación de los coeficientes de


filtros IIR
Cuando se pretende construir o simular un filtro digital, el número de bits que se puede
emplear para representar los coeficientes de dicho filtro va a estar limitado por la longitud de
los registros donde se desea almacenarlos. De esta forma, como los coeficientes de la
realización práctica no son los mismos que los del sistema ideal, la ubicación de los polos y
de los ceros de la nueva función de sistema es diferente a la del filtro deseado. El resultado es
que se construye un nuevo filtro cuya respuesta en frecuencia difiere de la deseada.
A continuación se va a realizar un estudio de la sensibilidad de los polos y ceros de la
función de sistema a la cuantificación de los coeficientes del filtro, pudiéndose demostrar que
aquella se reduce cuando al aparecer un gran número de polos y ceros se emplean estructuras
en cascada y paralelo (mediante secciones básicas de segundo orden), en lugar de las formas
directas.
Partimos de un filtro IIR cuya función de sistema es:

∏ (1 − z z −1 )
M M

∑b z k
−k
k
Η (z ) = k =0
= k =1
(2.14)
∏ (1 − p )
Ν N
1 − ∑ ak z −k
k z −1

k =1 k =1
50 • Tratamiento Digital de Señales •

Al cuantificar los coeficientes, esta función de transferencia se modifica:

∏ (1 − zˆ z −1 )
M M

∑ bˆk z −k k
ˆ (z ) =
Η k =0
= k =1
(2.15)
∏ (1 − pˆ )
Ν N
1 − ∑ aˆ k z −k
k z −1

k =1 k =1

La relación entre los coeficientes es:


aˆ k = a k + Δa k k = 1,", N (2.16)

bˆk = bk + Δbk k = 0,", M (2.17)


siendo similar para ceros y polos:
zˆ k = z k + Δz k (2.18)
pˆ k = p k + Δp k (2.19)
donde Δz k (Δp k ) es el desplazamiento producido en los ceros (polos) al cuantificar los
coeficientes del filtro.
La variación en la posición del polo p i o el error total se puede expresar como:
N
∂p i N
p iN − k
Δp i = ∑ ⋅ Δa k = −∑ ⋅ Δa k (2.20)
k =1 ∂a k
N
k =1
∏ (p
l =1, l ≠ i
i − pl )

Esta expresión introduce una medida de la sensibilidad del polo i-ésimo a cambios en
los coeficientes " a k " .
Los términos ( pi − p l ) representan vectores en el plano z dirigidos desde los polos {pl }
hasta el polo pi . Si se tienen polos muy próximos, las longitudes pi − p l serán muy
pequeñas y se ocasionarán grandes errores, introduciendo variaciones considerables en las
posiciones de los polos.
Observando la expresión (2.20) también se puede deducir que cuanto mayor es N (o M),
mayor es la sensibilidad, aumentando de nuevo el error. Para evitarlo, como alternativa a las
formas directas se pueden emplear las realizaciones en paralelo o en cascada con estructuras
de orden menor.
Con realizaciones de filtros mediante secciones de orden uno o dos se puede reducir
Δpi si aumentan las longitudes pi − p l . Si se selecciona un único polo (o cero), se corre el
riesgo de tener que ejecutar operaciones con valores complejos. Al elegir secciones de
segundo orden, agrupando los polos y los ceros complejos conjugados, aparecerán todos los
coeficientes reales, evitando la situación anterior y reduciendo también considerablemente el
error Δpi .
Además, con distintas realizaciones aparecen sensibilidades diferentes. De esta manera
se cuenta con un grado de libertad adicional al utilizar realizaciones en paralelo y en cascada.
Se va a considerar un ejemplo de dos estructuras diferentes con los mismos polos, para
comprobar que al cuantificar con el mismo número de bits, se obtienen distintas posiciones
para los polos.
• Tratamiento Digital de Señales • 51

Dada la función del sistema:

H (z ) =
1
(1 − (2r cos(θ ))z −1
+ r 2 z −2 )
(2.21)

Los polos del filtro están situados en re ± jθ . La realización empleando la forma directa
es la representada en la figura 2.15. Mediante precisión infinita se pueden tener infinitas
posiciones para los polos. Sin embargo, al cuantificar los coeficientes con un determinado
número de bits, las posiciones permitidas para los polos son finitas. Si empleásemos cuatro
bits, las posibles posiciones para los polos situados en el primer cuadrante serían las
representadas en la figura 2.16. En dicha figura se observa una considerable dispersión para
valores de θ cercanos a 0 (ocurre lo mismo en π ). Esta situación puede ser muy perjudicial
cuando se diseñan filtros paso bajo o paso alto, ya que se tiende a situar los polos cercanos a
z = 1 ó z = −1 .

fig. 2.15: realización en la forma directa de la expresión (2.21).

Im
1

0.75

0.5

0.25

Re
0 0.25 0.5 0.75 1

fig. 2.16: posiciones posibles de los polos al cuantificar con cuatro bits los coeficientes de la estructura de la
figura 2.15.

Una realización alternativa con los mismos polos podría ser la representada en la figura
2.17. En este caso, la función del sistema es:

H (z ) =
(r sen(θ ))z −1
(1 − (2r cos(θ ))z −1 + r 2 z −2 ) (2.22)
52 • Tratamiento Digital de Señales •

fig. 2.17: realización en la forma acoplada de la función de sistema de la expresión (2.22).

El sistema indicado en (2.21) presenta los mismos polos que el anterior. Sin embargo, si
se desea una realización real de este último con la estructura de la figura 2.17, se deben
cuantificar las cantidades r cos(θ ) y r sen (θ ) . Como estas cantidades son la parte real e
imaginaria de la posición de los polos, éstos se distribuyen uniformemente (al cuantificarlos)
dentro del círculo de radio unidad. Si se consideran cuatro bits, las posiciones posibles de los
polos en el primer cuadrante serían las indicadas en la figura 2.18. En esta figura se observa
una distribución uniforme de las posibles posiciones. Sin embargo, el precio que se paga en
este último caso es que se incrementa en los cálculos el número de operaciones (lo cual
conlleva mayor tiempo de ejecución). De ambas estructuras (figuras 2.15 y 2.17), la más
conveniente será aquella que ofrezca un conjunto mayor de puntos posibles que estén
próximos a la posición donde se encuentran los polos de la función deseada.
Im
1.00

0.75

0.50

0.25

Re
0 0.25 0.50 0.75 1.00

fig. 2.18: posibles posiciones de los polos al cuantificar con cuatro bits los coeficientes de la forma acoplada.
• Tratamiento Digital de Señales • 53

2.5 Construcción del filtro


Una vez superadas las etapas anteriores, la ecuación en diferencias (2.23) debe
construirse empleando hardware o software.
M N
y[n ] = ∑ bk ⋅ x[n − k ] + ∑ ak ⋅ y[n − k ] (2.23)
k =0 k =1

En dicha expresión, se observa que el cálculo de y[n] conlleva multiplicaciones, sumas


(o restas) y retardos. Para construir el filtro, se puede emplear:
• Memoria (por ejemplo ROM) para almacenar los coeficientes.
• Memoria (RAM) para almacenar los valores presentes y pasados de la señal de
entrada y salida.
• Multiplicadores hardware o software.
• Sumadores o unidades de cálculo aritmético-lógicas.
La forma de construirlo depende de si será un sistema que opera en tiempo real o por
lotes ("batch"). En el segundo caso se pueden hacer mediante software, empleando
ordenadores personales.
Para tiempo real se requiere circuitería más sofisticada y veloz. Se puede hacer uso de
dispositivos hardware de propósito específico, como los DSP's. Éstos cuentan con memorias
internas de tipo RAM y ROM para agilizar los cálculos y los tiempos de acceso, así como
multiplicadores hardware incorporados con una longitud de palabra muy alta (16/24/...).
Además presentan la posibilidad de operar con datos en formato entero y en coma flotante
con precisión simple y extendida. Entre sus instrucciones hay operaciones que permiten leer
de memoria, multiplicar y/o almacenar el resultado en un único ciclo de reloj.
Los ordenadores personales pueden ser muy útiles para analizar si el sistema cumple los
requisitos de partida. Si se va a operar sobre lotes de datos, sin restricciones de tiempo, se
pueden emplear estos equipos con lenguajes de alto nivel. Para desarrollar y validar los
algoritmos se puede utilizar MATLAB, el cual es un software de cálculo numérico. Presenta
excelentes capacidades gráficas y funciones específicas para el tratamiento digital de la señal.
Además, puede ir acompañado de la herramienta SIMULINK que opera con diagramas de
bloques. Posteriormente, se puede llevar a cabo la traducción a lenguaje C o a los lenguajes
propios de los DSP's.
54 • Tratamiento Digital de Señales •

C. REALIZACIÓN DE LA PRÁCTICA Y PRESENTACIÓN


DE RESULTADOS

1. CUANTIFICACIÓN DE LOS COEFICIENTES DEL FILTRO


Con este apartado se pretende poner de manifiesto la problemática de la realización de
filtros digitales empleando aritmética de precisión finita. Se van a analizar algunos de los
efectos producidos al cuantificar los coeficientes del filtro. Dado el sistema caracterizado por
la siguiente función:

H (z ) =
(r sen θ )z −1
1 − (2r cos θ )z −1 + r 2 z − 2

realice una representación del módulo de la respuesta en frecuencia y del diagrama polo-cero.
Considere precisión infinita (se simula operando directamente con el MATLAB), y los
siguientes valores
π π π
r = 0.97 θ1 = θ2 = θ3 =
3 9 32

Previamente, debe normalizar los coeficientes bk y ak por el mayor de todos ellos.

• Módulo de la respuesta en frecuencia y diagrama polo-cero para r = 0.97 y θ1 = π 3 :

20

-20
dB`s

-40

-60

-80

-100

-120
0 1 2 3 4
• Tratamiento Digital de Señales • 55

1.5

0.5

-0.5

-1

-1.5

• Módulo de la respuesta en frecuencia y diagrama polo-cero para r = 0.97 y θ 2 = π 9 :

20

-20
dB`s

-40

-60

-80

-100

-120
0 1 2 3 4
1.5

0.5

-0.5

-1

-1.5
56 • Tratamiento Digital de Señales •

• Módulo de la respuesta en frecuencia y diagrama polo-cero para r = 0.97 y


θ 3 = π 32 :

20

-20
dB`s

-40

-60

-80

-100

-120
0 1 2 3 4
1.5

0.5

-0.5

-1

-1.5

b) Repita el apartado "a" cuantificando con 8 bits los coeficientes de la función del
sistema.
• Tratamiento Digital de Señales • 57

• Módulo de la respuesta en frecuencia y diagrama polo-cero para r = 0.97 y θ1 = π 3 :

20

-20
dB`s

-40

-60

-80

-100

-120
0 1 2 3 4
1.5

0.5

-0.5

-1

-1.5

• Módulo de la respuesta en frecuencia y diagrama polo-cero para r = 0.97 y θ 2 = π 9 :

20

-20
dB`s

-40

-60

-80

-100

-120
0 1 2 3 4
58 • Tratamiento Digital de Señales •

1.5

0.5

-0.5

-1

-1.5

• Módulo de la respuesta en frecuencia y diagrama polo-cero para r = 0.97 y


θ 3 = π 32 :

20

-20
dB`s

-40

-60

-80

-100

-120
0 1 2 3 4
1.5

0.5

-0.5

-1

-1.5

c) Explique cómo ha afectado al módulo de la respuesta en frecuencia la cuantificación


con ocho bits. Comente las diferencias encontradas para cada una de las posiciones de θ.
• Tratamiento Digital de Señales • 59

2. INFLUENCIA DE LAS ESTRUCTURAS UTILIZADAS


En este segundo apartado se va a estudiar el efecto de la cuantificación de los
coeficientes para un filtro dado y la importancia que tiene la estructura elegida para mantener
una serie de características.
a) Calcule los coeficientes de un filtro digital paso bajo elíptico de orden 5, con un rizado de
0.5 dB en la banda de paso, atenuación mínima de 55 dB en la banda eliminada y una
pulsación de corte ωN = 0.5 . Normalice los coeficientes bk y ak por el mayor de todos ellos:
Coeficientes akn y bkn:
a0n = a1n = a2n =
a3n = a4n = a5n =
b0n = b1n = b2n =
b3n = b4n = b5n =
b) En cualquiera de las formas directas, los coeficientes que aparecen en la estructura
son los mismos que los del apartado anterior. Dibuje el diagrama polo-cero y el módulo de la
respuesta en frecuencia del filtro empleando dichos coeficientes.
1.5

0.5

-0.5

-1

-1.5

20

-20
dB`s

-40

-60

-80

-100

-120
0 1 2 3 4
60 • Tratamiento Digital de Señales •

c) Repita el apartado "b" cuantificando los coeficientes del filtro con 16, 8 y 6 bits .
16 bits:
1.5

0.5

-0.5

-1

-1.5

20

-20
dB`s

-40

-60

-80

-100

-120
0 1 2 3 4

8 bits:
1.5

0.5

-0.5

-1

-1.5
• Tratamiento Digital de Señales • 61

20

-20
dB`s
-40

-60

-80

-100

-120
0 1 2 3 4

6 bits:
1.5

0.5

-0.5

-1

-1.5

20

-20
dB`s

-40

-60

-80

-100

-120
0 1 2 3 4
62 • Tratamiento Digital de Señales •

d) Explique las diferencias que observe entre lo obtenido en los apartados "b" (filtro con
los coeficientes ideales) y "c" (filtro con los coeficientes cuantificados).

e) ¿Qué opinión le merece la cuantificación con 8 y 6 bits empleando la forma directa?.

f) En este último apartado se va a emplear una realización en cascada de secciones de


segundo orden. En primer lugar, hay que descomponer la función del sistema en productos de
funciones de segundo orden.
Partiendo de la función de sistema H ( z ) , habría que expresarla como producto de
funciones H k ( z ) de segundo orden:
Ns Ns
b0 k + b1k ⋅ z −1 + b2 k ⋅ z −2
H (z ) = ∏ H k (z ) = ∏
k =1 k =1 1 − a1k ⋅ z −1 − a 2 k ⋅ z − 2
Esta descomposición no es única ya que, por un lado, los polos y los ceros se pueden
emparejar de diversas maneras y, por otro, los subsistemas se pueden ordenar de distintas
formas. Teóricamente la función global es la misma, pero en la práctica (debido a la
aritmética finita) existen grandes diferencias entre unas y otras.
Con los polos y los ceros del filtro ideal se realiza un emparejamiento siguiendo los
criterios enunciados en los fundamentos teóricos. Para ello, debe emplear una función que
devuelva dos matrices: bik, que contiene los coeficientes bik (en la fila "k" tenemos los
coeficientes de la subsección "k"), y aik, que contiene los coeficientes aik.
En segundo lugar, se deben normalizar las matrices bik y aik con respecto al máximo
valor que presenten. Hay que tener en cuenta que ambas matrices deben dividirse por el
mismo valor.
En tercer lugar, se cuantifican con 16, 8 y 6 bits los coeficientes de las matrices
normalizadas.
• Tratamiento Digital de Señales • 63

Por último, se pide representar el módulo de la respuesta en frecuencia del filtro total,
que es asociación en cascada de tres filtros.
16 bits:

20

-20
dB`s

-40

-60

-80

-100

-120
0 1 2 3 4

8 bits:

20

-20
dB`s

-40

-60

-80

-100

-120
0 1 2 3 4
64 • Tratamiento Digital de Señales •

6 bits:

20

-20
dB`s

-40

-60

-80

-100

-120
0 1 2 3 4

g) Explique las diferencias que observe entre lo obtenido en los apartados "c" y "f".

h) ¿Qué opinión le merece la cuantificación con 8 y 6 bits empleando una conexión en


cascada?.

También podría gustarte