Lectura 1_Filtrado_Digital

Anuncio
Filtrado Digital
Lectura 1: Conceptos de
Filtrado
Respuesta en Frecuencia
„
La salida de un sistema LTI en el dominio de la frecuencia es:
…
„
Donde H(ω) es llamada la respuesta en frecuencia del sistema, la cual relaciona la entrada
y la salida de un sistema LTI en el dominio de la frecuencia. La respuesta en frecuencia
también puede ser representada en términos de ecuaciones de diferencias:
Una generalización de la respuesta en frecuencia es la función de transferencia,
calculada en el dominio-z.
…
La función H(z), la cual es la transformada Z de la respuesta al impulso h[n] del sistema
LTI, es llamada la función de transferencia o la función del sistema:
…
Usando la representación en ecuaciones de diferencias:
Procesamiento Digital de Señales (PDS)
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
Respuesta en Frecuencia
Función de transferencia
„
Si la ROC de la función de transferencia H(z) incluye el circulo unitario, entonces
la respuesta en frecuencia H(ω) del filtro digital LTI puede ser obtenida de la
siguiente forma:
„
Asumiendo que la DTFT existe, comenzaremos con la transformada Z
factorizada, podemos escribir la respuesta en frecuencia de un sistema LTI
típico como:
De la cual podemos obtener las respuestas en magnitud y fase:
Procesamiento Digital de Señales (PDS)
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
Interpretación de la respuesta en frecuencia
„
„
Una grafica aproximada de las respuestas de magnitud y
fase de la función de transferencia de un filtro LTI digital
puede ser realizada examinando la localización de los polos
y zeros.
Ahora, la respuesta en frecuencia tiene la magnitud más
pequeña alrededor de ω=ζ, y la magnitud más grande
alrededor de ω=p.
…
„
Por supuesto, en ω=p la respuesta es infinitamente larga y en ω=ζ , la
respuesta es zero.
Por lo tanto:
…
Para provocar la atenuación de la señal en un rango especificado de
frecuencia, necesitamos colocar los zeros muy cerca a o sobre el
circulo unitario, en este rango.
… En cambio, para amplificar componentes de la señal en un rango
especifico de frecuencias, necesitamos colocar los polos muy cercas
a o sobre el circulo unitario en este rango.
Procesamiento Digital de Señales (PDS)
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
Ejemplo
„
Considere el filtro FIR de promedio móvil con respuesta al
impulso:
„
Observamos lo siguiente:
…
La función de transferencia tiene M zeros
en el circulo unitario en
…
,
Hay M-1 polos en z=0 y un polo sencillo
en z=1.
…
El polo en z=1 exactamente cancela el zero
en z=1.
…
La ROC es todo el plano Z, excepto en z=0.
Procesamiento Digital de Señales (PDS)
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
Filtro de Promedio Móvil
b1=1/5*[1 1 1 1 1]; a1=1;
b2=1/9*[1 1 1 1 1 1 1 1 1]; a2=1;
[H1 w]=freqz(b1, 1, 512);
[H2 w]=freqz(b2, 1, 512);
[z1,p1,k1] = tf2zpk(b1,a1);
[z2,p2,k2] = tf2zpk(b2,a2);
subplot(221)
plot(w/pi, abs(H1)); grid
title('Funcion de transferencia del FPM de 5 puntos')
subplot(222)
zplane(b1,a1);
title('Diagrama de Polos-zeros del FPM de 5 puntos')
subplot(223)
plot(w/pi, abs(H2)); grid
title('Funcion de transferencia del FPM de 9 puntos')
subplot(224)
zplane(b2,a2);
title('Diagrama de Polos-zeros del FPM de 9 puntos')
Observe los efectos de los polos y los zeros
Procesamiento Digital de Señales (PDS)
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
Tipos de funciones de transferencia
„
„
La clasificación en el dominio del tiempo de una función de
transferencia de una secuencia LTI esta basada en la longitud
de su respuesta al impulso:
…
Función de transferencia de Respuesta Finita al Impulso (FIR).
…
Función de transferencia de Respuesta Infinita al Impulso (IIR).
Muchas otras clasificaciones son usadas
…
„
Para funciones de transferencia digital con respuestas de frecuencia
selectivas a la frecuencia, una clasificación esta basada en la forma de
la grafica de la función de magnitud |H(ω)| o la forma de la función de
fase θ(ω).
Basada en el espectro de magnitud, 4 tipos de filtros ideales
son usualmente definidos:
…
Pasa Bajas, Pasa Altas, Pasa Banda, Rechazo de Banda.
Procesamiento Digital de Señales (PDS)
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
Filtro Ideal
„
„
„
„
„
Un filtro ideal es un filtro digital diseñado para pasar
componentes de la señal de ciertas frecuencias sin distorsión,
por lo cual tiene una respuesta en frecuencia igual a 1 en esas
frecuencias, y tiene una respuesta en frecuencia igual a 0 en
las demás frecuencias.
El rango de frecuencias donde la respuesta en frecuencia toma
el valor de 1, es llamado la banda de paso.
El rango de frecuencias donde la respuesta en frecuencia toma
el valor de 0, es llamado la banda de rechazo.
La frecuencia de transición de una banda de paso a una región
de banda de rechazo es llamada la frecuencia de corte.
Hay que notar que un filtro digital ideal no puede ser realizado,
por que?
Procesamiento Digital de Señales (PDS)
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
Filtros Ideales
„
Las respuestas en frecuencia de los 4 filtros ideales en el rango
de [-π π] son:
„
Procesamiento Digital de Señales (PDS)
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
Filtros Ideales
„
Recuerde que la DTFT de un pulso rectangular es una función sinc.
„
Del teorema de dualidad, la DTFT inversa de un pulso rectangular es
también una función sinc. Desde que el filtro ideal (pasa bajos) tiene una
figura rectangular, su respuesta al impulso debe de ser sinc también.
Procesamiento Digital de Señales (PDS)
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
Filtros Ideales
„
Podemos mencionar lo siguiente acerca de la respuesta al
impulso de un filtro ideal.
…
no es absolutamente sumable.
…
no es causal, y es de doble longitud infinita
…
„
Los otros tres filtros también son caracterizados por ser doble mente
infinitos, con respuesta al impulso no causal y estos tampoco son
absolutamente sumables.
Por lo tanto, los filtros ideales con respuestas en frecuencia de
forma rectangular no pueden ser realizados con un filtro LTI de
dimensiones finitas.
Procesamiento Digital de Señales (PDS)
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
Filtros Realizables
„
Los detalles para diseñar un filtro cuya función de transferencia sea estable y
realizable son:
…
Las especificaciones de respuesta
en frecuencia ideal son relajadas
con la inclusión de una banda de
transición entre la banda de paso
y la banda de rechazo.
… Esto permite que la respuesta en
magnitud decaiga lentamente de
su valor máximo en la banda de
paso hasta cero en la banda de
rechazo.
… Además la respuesta en magnitud
es permitido que cambie muy poco
en las bandas de paso y rechazo de
banda.
… Las especificaciones de respuesta en
magnitud típicas de un filtro pasa bajas
se muestran en la figura de al lado.
Procesamiento Digital de Señales (PDS)
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
Tipos de Funciones de Transferencia
„
„
„
Hasta ahora hemos visto funciones de transferencia
caracterizadas inicialmente deacuerdo a su:
…
Longitud de respuesta al impulso (FIR/IIR).
…
Características de los espectros de magnitud.
Una tercera clasificación de las funciones de transferencia
es con respecto a sus características de fase.
…
Fase cero.
…
Fase lineal.
…
Fase lineal generalizados.
…
Fase no lineal.
En muchas aplicaciones, es necesario que el filtro digital
diseñado no distorsione la fase de los componentes de la
señal de entrada con frecuencias en la banda de paso.
Procesamiento Digital de Señales (PDS)
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
Filtros de Fase Cero
„
„
„
Una forma de evitar cualquier distorsión en fase, es
estando seguros que la respuesta en frecuencia del
filtro no retarda a ninguna de las componentes
espectrales. Dicha función de transferencia, se dice
que tiene una característica de fase-cero.
Una función de transferencia de fase-cero no tiene
componente de fase, esto es, el espectro es
puramente real (es decir no contiene parte
imaginaria) y no negativo.
Sin embargo, NO ES POSIBLE diseñar un filtro
digital causal con una fase cero.
Procesamiento Digital de Señales (PDS)
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
Filtros de Fase Cero
„
Ahora, si consideramos el procesamiento en tiempo no real de señales de
entrada de longitud finita con valores reales, el filtrado de fase cero puede ser
implementado relajando los requerimiento de causalidad.
„
Un esquema de filtrado de fase cero puede ser obtenido con el siguiente
procedimiento:
…
Procesar los datos de entrada (de longitud finita) con un filtro causal de coeficientes
reales H(z).
…
Invertir en tiempo la salida de este filtro y procesarla con el mismo filtro.
…
Invertirlo en tiempo una vez más la salida del segundo filtro.
Procesamiento Digital de Señales (PDS)
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
Implementación en Matlab
„
La función filtfilt() implementa el esquema de filtrado de fase
cero
filtfilt( ) - Filtrado digital de fase cero
y=filtfilt(b,a,x) realiza el filtrado digital de fase cero
procesando los datos de entrada en ambas direcciones
(hacia delante y hacia atrás). Después de filtrarlo en la
dirección hacia delante, invierte la secuencia filtrada y vuelve
a ejecutar el proceso de filtrado nuevamente.
La secuencia resultante, tiene precisamente una distorsión
de fase de cero y dobla el orden del filtro. Esta función
minimiza los transitorios al inicio y al final, y funciona
también para entradas reales y complejas.
Procesamiento Digital de Señales (PDS)
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
Ejemplo de filtro de fase cero
clear; close all
t = 0:0.001:1;
x=4*cos(2*pi*5*t)+cos(2*pi*21*t);
Fs=1/0.001;
cuadros={'Frec. de corte en banda de paso (en Hz)', 'Frec. de supresión en banda de rechazo (en Hz)',...
'Rizo en banda de paso(en dB)', 'Rizo en banda de rechazo (en dB)'};
nombre='Parametros de diseño del filtro Butterworth';
num_de_lineas=1; defaults={'10','14', '3','25'};
parametros_de_diseno=inputdlg(cuadros,nombre,num_de_lineas,defaults, 'on');
Frec_paso=str2num(parametros_de_diseno{1})/(Fs/2); % Frec. de corte en banda de paso , normalizada a Fs/2
Frec_rechazo=str2num(parametros_de_diseno{2})/(Fs/2); % Frec. de supresión en banda de rechazo , normalizada a Fs/2
Rizo_paso=str2num(parametros_de_diseno{3}); % Rizo en banda de paso(en dB)
Rizo_rechazo=str2num(parametros_de_diseno{4}); % Rizo en banda de rechazo (en dB)
[orden_filtro,Frec_natural] = buttord(Frec_paso,Frec_rechazo,Rizo_paso,Rizo_rechazo)
[b,a] = butter(orden_filtro,Frec_natural); % Usamos butter para obtener el filtro;
[Respuesta_en_frec Frec_base] = freqz(b,a, 1024, Fs); %calculamos la respuesta en frecuencia digital y el vector de frecuencias
retardo_fase= -angle(Respuesta_en_frec)./(2*pi*(Frec_base));
figure('Name','Respuesta en Frecuencia del Filtro Butterworth','NumberTitle','off')
subplot(411); plot(Frec_base(1:103), abs(Respuesta_en_frec(1:103))); %Graficamos hasta 50 Hz
xlabel('Frecuencia, Hz.'); grid
title(['Respuesta en Magnitud con frecuencia de corte = ', num2str(Frec_natural*Fs/2), 'Hz, y orden N=', num2str(orden_filtro)])
subplot(412); plot(Frec_base(1:103), unwrap(angle(Respuesta_en_frec(1:103)))); grid
xlabel('Frecuencia, Hz.'); ylabel('Respuesta de Fase en rad.'); title('Respuesta en fase del filtro Butterworth')
subplot(413); plot(Frec_base(1:103), retardo_fase(1:103)); grid
xlabel('Frecuencia, Hz'); ylabel('Retardos en fase'); title('Retardo en fase del filtro')
subplot(414) ; impz(b,a); title('Respuesta al impulso del filtro Butterworth')
figure
x1 = filter(b, a, x); %Filtramos la señal con el Filtro Butterworth de fase no lineal
x2 = filtfilt(b,a,x); %Noncausalzero phase filtering
plot(t, x, 'b', t, x1, 'r', t, x2, 'g','LineWidth', 3)
grid
legend('Señal original', 'Señal filtrada IIR', 'Señal filtrada de fase cero')
Procesamiento Digital de Señales (PDS)
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
Procesamiento Digital de Señales (PDS)
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
Procesamiento Digital de Señales (PDS)
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
Fase lineal
„
„
Si el espectro de fase es lineal, entonces el retardo
de fase es independiente de la frecuencia, y es la
misma constante α para todas las frecuencias.
En otras palabras, todas las frecuencias son
retrazadas por α segundos, o en forma equivalente,
la señal completa es retrazada por α segundos.
… Desde
que la señal completa es retrazada por una
cantidad constante, no hay distorsión.
„
Si el filtro no tiene fase lineal, entonces diferentes
componentes de frecuencia son retrazadas en
diferentes cantidades, causando una distorsión
significante.
Procesamiento Digital de Señales (PDS)
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
Fase lineal
„
Si se desea pasar una señal de entrada con componentes en un cierto
rango de frecuencias, sin distorsión, entonces la función de transferencia
deberá exhibir una respuesta en magnitud unitaria y una respuesta en
fase lineal en las bandas de interés.
Procesamiento Digital de Señales (PDS)
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
Filtros de fase lineal
„
„
Es prácticamente imposible diseñar un filtro IIR de fase
lineal, sin embargo, diseñar filtros FIR con fase lineal precisa
es muy fácil:
Consideremos un filtro FIR causal de longitud M+1 (orden
M).
…
Esta función de transferencia tiene fase lineal, si su respuesta al
impulso h[n] es simétrica:
o antisimétrica
.
Procesamiento Digital de Señales (PDS)
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
Filtros de Fase lineal
„
Tenemos cuatro posibles escenarios: Filtros de longitud par
o impar, y respuesta al impulso ya sea simétrica o
antisimétrica.
Procesamiento Digital de Señales (PDS)
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
Tipos FIR I y FIR II
„
„
Para coeficientes simétricos, podemos mostrar que la respuesta en
frecuencia es de la siguiente forma:
FIR II (M es impar, la secuencia es simétrica y de longitud par)
…
„
Note que esta en la forma de
, donde α=M/2, y G(ω) es la
parte real (el termino que incluye la sumatoria). La salida es retrazada por
M/2 muestras.
FIR I (M es par, la secuencia es simétrica y de longitud impar)
…
Nuevamente, este sistema tiene fase lineal (la cantidad dentro del paréntesis
es una cantidad real) y el retardo de fase es M/2 muestras.
Procesamiento Digital de Señales (PDS)
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
Tipos FIR III y FIR IV
„
Para secuencias antisimétricas, tenemos que h[n]=-n[M-n], la cual nos da
términos seno en la ecuación de la sumatoria:
FIR IV (M es impar, la secuencia es antisimétrica y de longitud par).
„
FIR III (M es par, la secuencia es antisimétrica y de longitud impar)
„
…
En ambos casos, la respuesta en fase es de la forma
θ(ω)=−(Μ/2)ω+π/2, lo cual representa una fase lineal generalizada.
Nuevamente, en todos estos casos, la salida del filtro es retrazada por M/2
muestras. También, para todos los casos, si G(ω)<0, un término adicional π
es agregado a la fase, lo cual causa que las muestras sean invertidas.
Procesamiento Digital de Señales (PDS)
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
Ejemplo en Matlab
h1=[1 2 3 4 3 2 1]; % FIR 1
h2=[1 2 3 4 4 3 2 1]; % FIR 2
h3=[-1 -2 -3 0 3 2 1]; %FIR 3
h4=[-1 -2 -3 -4 4 3 2 1] ; % FIR 4
[H1 w]=freqz(h1, 1, 512); [H2 w]=freqz(h2, 1, 512);
[H3 w]=freqz(h3, 1, 512); [H4 w]=freqz(h4, 1, 512);
% Grafica las respuestas en magnitud y fase
% en frecuencia angular de 0 a pi
subplot(421); plot(w/pi, abs(H1));grid; ylabel('FIR 1')
subplot(422); plot(w/pi, unwrap(angle(H1)));grid;
subplot(423); plot(w/pi, abs(H2));grid; ylabel('FIR 2')
subplot(424); plot(w/pi, unwrap(angle(H2)));grid;
subplot(425); plot(w/pi, abs(H3));grid; ylabel('FIR 3')
subplot(426); plot(w/pi, unwrap(angle(H3)));grid;
subplot(427); plot(w/pi, abs(H4));grid
xlabel('Frecuencia, \omega/\pi'); ylabel('FIR 4')
subplot(428); plot(w/pi, unwrap(angle(H4)));grid
xlabel('Frecuencia, \omega/\pi')
Procesamiento Digital de Señales (PDS)
%Grafica de los zeros
figure
subplot(221)
zplane(h1,1); grid
title('FIR 1')
subplot(222)
zplane(h2,1);grid
title('FIR 2')
subplot(223)
zplane(h3,1);grid
title('FIR 3')
subplot(224)
zplane(h4,1);grid
title('FIR 4')
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
Ejemplo de Polos y Zeros de un Filtro FIR
Procesamiento Digital de Señales (PDS)
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
Localización de zeros en los filtros de fase lineal
„
„
„
„
„
„
„
„
„
El filtro FIR tipo 1: Puede tener un número par o no tener zeros en z=1 y z=-1.
El filtro FIR tipo 2: Puede tener un número
par o no tener zeros en z=1, y un número
impar de zeros en z=-1.
El filtro FIR tipo 3: Tiene un número impar de
zeros en z=1 y z=-1.
El filtro FIR tipo 4: Tiene un número impar
de zeros en z=1, y puede tener un número
par o no tener zeros en z=-1.
Un filtro FIR tipo 2 no puede ser usado para
diseñar un filtro pasa altas desde que siempre
tiene un zero en z=-1.
Un filtro FIR tipo 3 tiene zeros en z=1 y z=-1 y por
lo tanto no puede ser usado para diseñar filtros
pasa bajas, pasa altas ni tampoco un rechazo de banda.
Un filtro FIR tipo 4 no es apropiado para diseñar un filtro pasa bajas debido a la presencia de
un zero en z=1.
El filtro FIR tipo 1 no tiene estas restricciones y puede ser usado para diseñar casi cualquier tipo de
filtro.
La presencia de zeros en z=+/- 1 nos produce limitaciones en el uso de funciones de transferencia
de fase lineal en el diseño de filtros.
Procesamiento Digital de Señales (PDS)
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
FIN
Procesamiento Digital de Señales (PDS)
Facultad de Ingeniería Mecánica, Eléctrica y Electrónica
Descargar