Vous êtes sur la page 1sur 6

1

Tratamiento Digital de Seales.


GIET. Universitat de Valncia.

Prctica 2. Filtros Digitales selectivos en frecuencia.

Objetivo. El objetivo de esta segunda prctica es estudiar las propiedades de los Filtros
Digitales Selectivos en Frecuencia, las caractersticas de los filtros de respuesta impulsional Finita
(FIR), y los filtros de respuesta impulsional infinita (IIR), as como los mtodos de diseo ms
habituales.

1. En primer lugar vamos a determinar caractersticas generales de los filtros digitales; res-
puesta en frecuencia, respuesta impulsional, diagrama de ceros y polos, etc.
Dados los siguientes sistemas digitales:

y(n) = x(n) + 2x(n 1) + x(n 2) + 2x(n 3) + x(n 4)


y(n) = x(n) x(n 5)
y(n) = x(n) + 6x(n 1) + 11x(n 2) + 6x(n 4)
1 +3z 2
H(z) = 12z
32z 1 +z 2

(1 2z1 +z2 )(1+z1 )
H(z) = (1+0,81z2 ) 1+0,82z1 +0,64z2
( )

Determina:

Respuesta impulsional (indica si son FIR o IIR) (impz()).


Respuesta en frecuencia. De qu tipo son Paso Bajo (PB), Paso Alto (PA), Pasa
Banda (PBan), Elimina Banda(EB), Arbitraria? (freqz()).
Diagrama de ceros y polos (zplane()).
Retardo de grupo (grpdelay()).

Indica cules de los filtros anteriores tienen fase lineal.

2. Veamos algunas caractersticas de los filtros FIR. Disear un filtro FIR pasa-baja por el
mtodo de ventanas (fir1) con estas caractersticas: Fm=20 kHz, Fc=5 kHz, orden N=20;

Usa la ventana rectangular (rectwin), y Hamming (hamming). En cada caso, deter-


mina aproximadamente el rizado en la banda pasante, la atenuacin de la banda
eliminada y la anchura de la banda de transicin. Observa el efecto Gibbs. (Nota:
se puede utilizar la funcin wvtool para el anlisis visual de ventanas, y tambin la
funcin fvtool para realizar una comparacin de varios filtros. Ver ayuda de cada
uno de los comandos).
De qu depende la atenuacin en el mtodo de las ventanas?
2

3. El siguiente cdigo permite disear filtros FIR de rizado constante. El filtro base a dise-
ar tiene las siguientes caractersticas: Fm=1000 Hz, Fp=200 Hz, Fs=300 Hz, Rp=3 dB,
Rs=60 dB;

Completa XXX con los valores adecuados para calcular 1 y 2 a partir de los rizados
en ambas bandas expresados en dB.
Disea el filtro y dibuja su respuesta en frecuencia. Cmo es el rizado en ambas
bandas?
Modifica el cdigo para estimar como se modifica el orden del filtro al variar la anchura
de la banda de transicin, para ello considera Fs=210:10:300 Hz, el resto de parmetros
no se modifica.
Repite el apartado anterior pero modificando Rs=20:10:100 dB, el resto de parmetros
no se modifica.

clear
close all
Fm = 1000; % Frecuencia de muestreo
RP = 3; % Rizado en la banda pasante en DB
RS = 60; % Rizado en la banda atenuada en DB sin signo
F1 = 200; % Inicio de la banda de transicin
W = [1 0]; % Valores ideales del filtro
r1 = XXX; % Rizado en la banda pasante en escala lineal
r2 = XXX; % Rizado en la banda atenuada en escala lineal
rizado = [r1 r2];
F2 = 300; % Fin de la banda de transicin
[n,fo,mo,w] = firpmord( [F1 F2], W, rizado, Fm );
b = firpm(n,fo,mo,w);
%%
% Representacin en dB
% FREQZ(B,A,N,Fs),
freqz(b,1,Fm,Fm) % Respresentacin con N=Fm (resolucin de 1 Hz)
% Representacin en escala lineal
[H,w] = freqz(b,1,Fm,Fm);
plot(w,abs(H))
xlabel(Frecuencia (Hz))
ylabel(|H(\omega)|)
grid on

4. En este apartado vamos a disear filtros de respuesta impulsional infinita a partir de


prototipos analgicos mediante el mtodo de la Transformacin bilineal.
Los prototipos analgicos que pueden emplearse son Butterworth, Tchebyshev I y II y elp-
ticos. El filtro digital obtenido debe cumplir las siguientes especificaciones: Fm=1000 Hz,
3

Fc=200 Hz, Rp=2 dB (valor mximo), Rs=40 dB (valor mnimo) y banda de transicin
BT=100 Hz.
Si el mtodo de diseo est basado en la transformacin bilineal los pasos son los siguientes:

a) Estimar el orden y frecuencia natural (n ) del filtro DIGITAL con la funcin ade-
cuada (buttord, cheb1ord, cheb2ord y ellipord). Hay que tener en cuenta que
estamos estimando el orden del filtro digital, por lo que las frecuencias se especifcarn
en unidades normalizadas. Para ello las frecuencias analgicas se dividen por Fm /2,
as max = 1, que se corresponde con la frecuencia de Nyquist. Por ejemplo para un
filtro de Butterworth usaramos [N,Wn] = buttord(Wp,Ws,Rp,Rs) que nos devuelve
los parmetros buscados.
Nota: la frecuencia natural no es la frecuencia de corte (cada de 3dB). Es el lmite
de la banda pasante. Solo se corresponde con la frecuencia de corte para los filtros de
Butterworth.
b) Con los parmetros devueltos por la funcin del apartado anterior ([N,n ]) diseamos
el filtro digital directamente con las funciones butter, cheby1, cheby2 y ellip.
Estas funciones nos devuelven los coeficientes de los polinomios del numerador y
denominador de la funcin de transferencia H(z) = B(z)
A(z)
.

Tareas a realizar:

Disea el filtro de Butterworth, a partir de las especificaciones, y dibuja su respuesta


en frecuencia (mdulo y fase), diagrama de ceros y polos y respuesta impulsional en
una misma figura.
Repite el apartado anterior con prototipos de Tchebyshev I y II y elpticos.
Compara los ordenes de los filtros obtenidos.
Genera una seal cuadrada de frecuencia 3 Hz, muestreada a 1 kHz, de 1000 muestras
(usa la funcin square). Calcula la salida al pasar por cada uno de los 4 filtros
anteriores. Qu diferencias observas en las salidas?
Responde a las siguientes cuestiones:
a) El filtro de mnimo orden es:

b) Los filtros que solo contienen polos son:

c) Los filtros con rizado en la banda pasante son:

d ) Los filtros con respuesta montona decreciente en banda pasante y no pasante


son:

e) Para que la distorsin en la banda pasante sea mnima utilizar un filtro:


4

f ) Si la condicin ms restrictiva es el orden usar un filtro:

g) Si no puede haber distorsin de fase (ninguna) utilizar:

5. Aplicacin prctica.

La actividad elctrica del corazn puede ser amplificada y digitalizada para su anlisis uti-
lizando tcnicas de procesado digital. Est seal se denomina electrocardiograma (ECG).
Dos canales de una seal electrocardiogrfica han sido amplificados y convertidos en una
seal discreta utilizando un convertidos AD de 12 bits con intervalo de entrada de 5V.
La frecuencia de muestreo utilizada ha sido de 2 kHz, y el factor de amplificacin de 2000.
Las seales obtenidas se encuentran almacenadas en el fichero reg_prac.mat, que contiene
las variables canal1, canal2 y Fm (frecuencia de muestreo).

a) Carga las seales y represntalas grficamente expresando el eje Y en milivoltios y el


eje X en segundos, de manera que se muestre la amplitud real de las mismas. Pon
leyendas a los ejes. (Para el resto de apartados utilizaremos los valores almacenados
en las variables canal1 y canal2). Determina, a partir de las grficas si las seales
tienen componente de continua (valor medio).
b) Quita a las seales la componente de continua y dibuja su espectro. Se desea que
la resolucin de la DF T sea de 0.25 Hz. Representa el eje X en Hz. Observa como
el ruido de baja frecuencia del canal 1 aparece en el espectro. Qu interferencia
aparece claramente en el espectro del canal 2? Representa ambos espectros en una
misma figura utilizando el comando subplot.
c) Determina cul es el ancho de banda de las seales e indica si hubiera sido posible
utilizar una frecuencia de muestreo menor sin violar el teorema de muestreo.
d ) Disminuye la frecuencia de muestreo de las seales hasta 500 Hz y vuelve a represen-
tar las seales en el dominio temporal, as como su espectro. En el dominio temporal
el eje X aparecer en segundos y en el frecuencial en Hz. Recuerda que ahora la fre-
cuencia de muestreo es New_Fm.

Nota: Se puede modificar la frecuencia de muestreo de una seal mediante las ope-
raciones de diezmado e interpolacin. En Matlab se usa la instruccin
Y = resample(X,New_Fm,Fm). X es la seal original muestreada a Fm e Y es la nue-
va seal muestreada a New_Fm. La seal obtenida es equivalente a volver a muestrear
la seal analgica con la nueva frecuencia de muestreo.

e) Disea un filtro FIR paso bajo que permita eliminar el ruido de red del canal 2, y
no elimine componentes frecuenciales significativas (menores de 30 Hz). Dibuja su
diagrama de ceros y polos y su respuesta en frecuencia. Qu atenuacin, en dB,
presenta este filtro para la frecuencia de 50 Hz?
5

f ) Dibuja la seal de salida del filtro y la seal original, en el dominio temporal, con
distinto color. Observas qu ha hecho el filtro? Por qu las seales no estn super-
puestas?
g) Calcula el espectro de la seal de salida del filtro y dibjala junto al espectro de la
seal original con distinto color. Observas qu ha hecho el filtro? En qu dominio
se aprecia mejor el procesado realizado por el filtro?
h) Disea un filtro IIR paso bajo que permita eliminar el ruido de red del canal 2, y no
elimine componentes frecuenciales significativas (menores de 30 Hz), CON LAS MIS-
MAS ESPECIFICACIONS QUE EL FILTRO FIR ANTERIOR. Dibuja su diagrama
de ceros y polos y su respuesta en frecuencia. Qu atenuacin, en dB, presenta este
filtro para la frecuencia de 50 Hz?
i ) Vuelve a representar para el filtro IIR las seales de entrada y filtrada en los dominios
temporal y frecuencial. En el dominio temporal: estn las seales superpuestas?
Observas la respuesta transitoria del filtro en la seal filtrada?
j ) Observa las diferencias entre las seales filtradas por los filtros FIR e IIR. A qu
crees que se pueden deber si las especificaciones de ambos filtros han sido las mismas?
k ) Disea un filtro que elimine la interferencia de baja frecuencia del canal1, y modifique
lo menos posible el resto de frecuencias. El filtro debe tener ganancia 1 a frecuencias
altas. Muestra la seal de entrada y salida en el dominio temporal y frecuencial en 2
subplots de una misma figura.

Apndice.

Para el diseo de filtros Matlab dispone de la herramienta fdatool (ver Figura 1). Se trata
de una interfaz grfica que permite disear de manera visual filtros digitales, analizar los
efectos de trabajar con aritmtica finita, explorar diferentes estructuras, incluso permite
exportar los coeficientes de los filtros diseados a diferentes formatos. Es importante sealar
que internamente utiliza las mismas funciones que se han visto en esta prctica, fir1,
buttord, butter, etc.

Matlab dispone tambin de una interfaz grfica que nos permite cargar seales, visualizarlas
en el dominio temporal y frecuencial, usar los filtros diseados con fdatool y ver qu
efecto tienen estos filtro sobre las seales. El entorno se denomina sptool. La Figura 2
muestra dicho entorno con algunas ventanas de visualizacin abiertas. Familiarzate con
esta herramienta diseando y filtrando alguna de las seales de entrada disponibles (puedes
incluir otras) con alguno de los filtros paso-bajo de apartados anteriores.
6

Orden

Vector de Frecuencias
Estimacin automtica (acaba en Fm/2)
del orden

Multibanda
Magnitud en cada Banda
Generalized
equiripple
Rizado en cada Banda
OJO en escala lineal, no
en dB

Fig. 1: Pantalla principal de la herramienta fdatool.

Fig. 2: Pantalla principal de la herramienta sptool y ventanas abiertas al activar view en cada
una de las columnas Signals, Filters y Spectra.