Académique Documents
Professionnel Documents
Culture Documents
()
El sistema puede ser caracterizado por una ecuacin diferencial:
() () () ()
Supongamos la aproximacin de la integral en vez de la derivada
()
) ()
Podemos aproximar la integral usando la frmula Trapezoidal
()
()
( )] ( ) ()
A partir de la ecuacin diferencial, podemos sustituir por y(t)
() () () ()
Podemos sustituir esto en la regla trapezoidal y escribimos
(
) () (
) ( )
[() ( )] ()
Obtenemos la transformada-z:
(
) () (
()
)() ()
La cual se simplifica a:
()
()
()
)
()
Se puede observar que el mapeo es el siguiente:
() ()
) ()
Este mapeo es conocido como la transformada Bilineal.
Resolviendo esta ecuacin para y, obtenemos:
(
) ()
Esta transformacin es conocida como Bilineal. La transformada de
Laplace en las expresiones del filtro es remplazada por las correspondientes
transformadas z.
Remplazando s = + j y ejecutando las manipulaciones
algebraicas, substituyendo z = e
j
obtenemos:
) ()
Se puede ver que el componente anlogo de DC (s = 0) mapea al
contenido DC digital (z = 1) y la frecuencia analgica ms alta (s = )
mapea a la frecuencia digital ms alta (z = -1). Es fcil mostrar que todo el
eje j en el plano s es mapeado exactamente una vez alrededor del
crculo unitario en el plano z. Por lo tanto, este no tiene alias. Con (2/T)
como real y positivo, la mitad izquierda del plano s mapea al crculo
unitario interior, y la mitad derecha del plano s mapea fuera del crculo
unitario.
La constante provee un grado permanente de libertad que puede
ser utilizado para mapear cualquier frecuencia finita en particular el eje j
en el plano s a una particular ubicacin deseada sobre el circulo unitario
e
j
en el plano z. Todas las otras frecuencias sern deformadas. En
particular, aproximando la mitad de la tasa de muestreo, el eje de
frecuencia se comprime ms y ms. Los filtros tienen una simple transicin
en frecuencia, tal como los filtros pasa-bajos y pasa-altos, mapeando
sutilmente bajo la transformada bilineal; usted mapea simplemente la
frecuencia que le corresponde, y podemos apreciar que se obtiene una
muy buena respuesta. En particular, equal ripple (de rizo igual), el cual
preserva lo ptimo de los filtros tipo Elptico y Chevyshev porque los valores
tomados sobre la respuesta en frecuencia son idnticos en ambos casos;
nicamente el eje de frecuencia es deformado.
3. Tipos de filtros
3.1 Filtros Butterworth.
Los filtros Butterworth son causales por naturaleza y de varios niveles
de orden, los de ms bajo orden son lo mejor (lo ms corto posibles) en el
dominio del tiempo, y los de orden ms alto son lo mejor en el dominio de
la frecuencia. Los filtros Butterworth o mximamente planos tienen una
respuesta en frecuencia de amplitud monotnica la cual es mximamente
plana cuando la respuesta en frecuencia es igual a cero (Figura 1). Y la
respuesta en amplitud decrece logartmicamente conforme incrementa la
frecuencia. Los filtros Butterworth tienen un mnimo desplazamiento en fase
comparados con otro tipo de filtros convencionales.
()
()
()
Figura 1. Respuesta en frecuencia de un filtro Butterworth, plano en ambos lados de la banda pasante y
la banda de rechazo
3.2. Filtros Chebishev.
Los filtros Chevyshev son de dos tipos: los filtros Chevyshev I tienen
todos los polos del filtro los cuales estn equi-ripple en la banda de paso y
son monotnicos en la banda de rechazo. (Figura 2).
Figura 2. Respuesta en frecuencia de un filtro Chevyshev I, con rizo en la parte de la banda de paso, y
monotonicamente plano en la banda de rechazo.
Los filtros Chevyshev II contienen polos y ceros exhibiendo un
comportamiento monotnico en la banda pasante y equi-ripple en la
banda de rechazo (Figura 3).
Figura 3. Respuesta en frecuencia de un filtro Chevyshev II, con rizo en la parte de la banda de
rechazo, y monotonicamente plano en la banda de paso.
La respuesta en frecuencia de este filtro est dada por:
()
))
()
Donde es un parmetro relacionado al rizo presente en la banda
pasante.
())
(
())
()
3.3. Filtros Elpticos.
Los filtros elpticos son caracterizados por ser igualmente rizados en
ambos lados de la banda de paso y de rechazo (Figura 4), ste nos provee
una realizacin con el orden ms bajo para ciertas condiciones
particulares establecidas.
()
()
Transformaciones de frecuencia.
Esta es una de las mayores tcnicas empleadas en el diseo de
filtros. Se puede disear un filtro pasa-bajos analgico o digital y luego este
se transforma en un filtro digital pasa-altos o pasa-banda.
Transformaciones de frecuencia analgica.
Las transformaciones en frecuencia que pueden ser usadas
para obtener un filtro pasa-altas, pasa-bajos, pasa-banda o rechaza
banda se pueden observar en la tabla 1.
Aqu 0
2
= 1* 2 la cual es definida como la frecuencia de
corte para un filtro pasa-bajos o pasa-altos y la frecuencia central
para los filtros en la banda de paso y de rechazo.
()
()
Donde 2 y 1 son la ms alta y la ms baja frecuencia de
corte respectivamente. 2 - 1 dan como resultado el ancho de
banda.
Tabla 1. Relacin entre los tipos de filtros y las transformaciones de frecuencia
analgica.
Tipo de filtros Transformacin
Pasa-bajos
Pasa-altas
Pasa-banda
(
4. Funciones de Matlab para el diseo de filtros IIR.
Funciones para determinar el orden necesario para implementar un
determinado filtro:
[N, Wn] = buttord(Wp, Ws, Rp, Rs)
Calcula el orden de un filtro pasobajo digital de Butterworth, con Ws la
frecuencia de pasabanda, Wp la frecuencia parabanda, y Rp y Rs las
Atenuaciones respectivas de pasabanda y parabanda en decibelios.
Wp y Ws deben ser entre (0,1), siendo 1 la frecuencia de Nyquist (fs/2). N
es el orden del filtro y Wn la frecuencia de 3db.
[N, Wn] = buttord(Wp, Ws, Rp, Rs,'s')
Lo mismo que antes, pero para un filtro pasobajo analgico. Aqu los
valores de Wp y Ws pueden tomar cualquier valor en radianes. Para
calcular el orden de otros tipos de filtro (pasoalto, parabanda o
pasabanda) deberemos aplicar primero las transformaciones al
prototipo de filtro pasobajo (Tabla 2).
[N, Wn] = cheb1ord(Wp, Ws, Rp, Rs)
Clculo del orden necesario para un filtro digital pasobajo de
Chebyshev I, con las especificaciones dadas. Las mismas
consideraciones que en el caso del filtro de Butterworth.
[N, Wn] = cheb1ord(Wp, Ws, Rp, Rs, 's')
Lo mismo pero para el filtro analgico
[N, Wn] = cheb2ord(Wp, Ws, Rp, Rs)
Filtro digital de Chebyshev II
[N, Wn] = cheb2ord(Wp, Ws, Rp, Rs, 's')
Filtro analgico de Chebyshev II
[N, Wn] = ellipord(Wp, Ws, Rp, Rs)
Filtro digital elptico
[N, Wn] = ellipord(Wp, Ws, Rp, Rs, 's')
Filtro analgico elptico.
Funciones para determinar los coeficientes del filtro
[B,A] = butter(N,Wn)
B y A son los coeficientes del numerador y del denominador
espectivamente, en orden decreciente de un filtro de Butterworth
digital. N es el orden del filtro (calculado previamente) y Wn es la
frecuencia de corte. El valor de Wn debe estar normalizado con la
frecuencia de Nyquist. Para disear un filtro pasobajo Wn es un escalar
entre (0,1). La pasabanda es (0, Wn) y la parabanda es (Wn,1). Para
disear un filtro de pasoalto, el comando a escribir es:
[B,A] = butter(N,Wn,high) donde Wn es un escalar.
Un filtro Parabanda se determina de la siguiente forma:
[B,A] = butter(N,[W1 W2])
Es decir, Wn es en este caso un vector que especifica las frecuencias de
pasabanda.
Finalmente, para un filtro Parabanda:
[B,A] = butter(N,[W1 W2],stop)
[W1 W2] son las frecuencias de Parabanda.
[B,A] = cheby1(N,R,Wn)
Diseo de filtros digitales de Chebyshev I. Se deben especificar el orden del
filtro N, el rizado de pasabanda permitido R y la frecuencia de corte
normalizada con respecto a la frecuencia de Nyquist. Para disear filtros de
pasoalto, pasabanda y parabanda se siguen las mismas reglas que en el
diseo de filtros de Butterworth.
[B,A] = cheby2(N,R,Wn)
Lo mismo que antes, pero R es el rizado de parabanda.
[B,A] = ellip(N,Rp,Rs,Wn)
Rp y Rs son los rizados de pasabanda y parabanda. Aadiendo a los
comandos anterior la opcin s, los vectores B y A son los coeficientes del
filtro analgico correspondiente. Sigue siendo vlido lo que se mencion
anteriormente acerca del diseo de filtros pasoalto, pasabanda y
parabanda, pero Wn puede tomar cualquier valor en radianes (no est
limitado entre (0,1)):
[B,A] = butter(N,Wn,s)
[B,A] = cheby1(N,R,Wn,s)
[B,A] = cheby2(N,R,Wn,s)
[B,A] = ellip(N,Rp,Rs,Wn,s)
Para Filtros pasabanda o parabanda se debe definir una variable con dos
valores que determinan los extremos de la frecuencia de la banda
Ejemplo:
Omega=[Omega1, Omega2]
Y usar el comando, por ejemplo
[num,den]=butter(n,Omega,stop) para el Parabanda
[num,den]=butter(n,Omega) para el Pasabanda.
Respuesta frecuencial del filtro diseado
Para los filtros analgicos
>> H = freqs(B,A,W)
Devuelve el vector H de nmeros complejos, que es la respuesta
frecuencial al filtro cuya funcin de transferencia en s viene dada por B y A.
La respuesta frecuencial se evala en los puntos especificados por el
vector W en radianes. Ms opciones en el Help de MATLAB.
plot(W,abs(H))
Dibuja la magnitud de la respuesta frecuencial del filtro.
plot(W,unwrap(angle(H)))
Dibuja la fase de la respuesta frecuencial del filtro. La funcin unwrap hace
que no haya discontinuidad en la fase por el paso de +pi a pi .
Para los filtros digitales
>> H = freqz(B,A,F,Fs)
Devuelve el vector H de nmeros complejos, que es la respuesta
frecuencial al filtro cuya funcin de transferencia en z viene dada por B y
A. La respuesta frecuencial se evala en los puntos especificados por el
vector F en Hz, siendo la frecuencia de mustreo Fs Hz. Ms opciones en el
Help de MATLAB.
gd = grpdelay(B,A,F,Fs)
Calcula retraso de grupo (-df1/dt) de la funcin de Transferencia formada
por los polinomios B y A. Se evala en los puntos especificados por W en
radianes. Para ms opciones de esta funcin ver el Help de MATLAB.
plot(F,abs(H))
Dibuja la magnitud de la respuesta frecuencial del filtro.
plot(F,unwrap(angle(H)))
Dibuja la fase de la respuesta frecuencial del filtro.
plot(F,gd)
Dibuja el retraso de grupo de la funcin de Transferencia Discreta.
5. Diseo de filtros IIR.
El Toolbox de MATLAB dedicado al procesamiento de seales,
incluye algunas funciones tiles para disear ambas clases de filtros
digitales FIR e IIR as como tambin para el diseo tradicional de
filtros analgicos. Las caractersticas bsicas de los tipos de filtros
analgicos comunes ya se han resumido en las secciones previas.
Los filtros considerados fueron los filtros Butterworth, Chevyshev I & II, y
los filtros Elpticos.
Primer diseo.
Situacin
Para una seal de datos muestreada a 100 Hz, disear un filtro
pasabajos con menos de 1 dB de rizo en la banda de paso, definido
de 0 a 12 Hz, y al menos 30 dB de atenuacin en la banda de
rechazo, definido a 15 Hz de la frecuencia de Nyquist.
Solucin
Basados en los parmetros que se especifican en esta situacin,
realizaremos los diseos de Butterworth, Chevyshev I & II y Elptico, por el
mtodo directo.
%%%%%%%PRIMER DISEO%%%%%%%%%%%%%%%%%
%Diseo de filtro Butterworth, realizacin directa
%Especificaciones:
%Fs = 100 Hz Frecuencia de muestreo
%Fbp = 12 Hz Frecuencia en la banda de paso
%Fsb = 15 Hz Frecuencia en la banda de rechazo
%Rp = 1 dB Rizado en la banda de paso
%As = 30 dB mxima atenuacin en la banda de rechazo
Fs = 100; fs=100/2; %Frecuencia de muestreo normalizada
Fbp = 12; fbp = Fbp/fs; %Frecuencia Fbp normalizada
Fsb = 15; fsb = Fsb/fs; %Frecuencia Fsb normalizada
Rp = 1; % Rizado en la banda de paso
As = 30; %Mxima atenuacin en la banda de rechazo
%Diseo del filtro
[N,wn] = buttord(fbp,fsb,Rp,As); %Se obtiene el orden y frecuencia de corte
[b,a] = butter(N,wn); % Se obtienen los coeficiente de la realizacin del filtro IIR en forma
directa
[H,w]=freqz(b,a,512,100);%este comando determina la respuesta en frecuencia del filtro
digital
[h,n] = impz(b,a,50); %clculo de la respuesta al impulso digital
%Grficas
figure(1)
subplot(2,2,1)
plot(w,(abs(H)).^2);title('Respuesta en frecuencia (magnitud)')
xlabel('Frecuencia en Hz')
ylabel('|H(\omega)|^2')
grid on
subplot(2,2,2)
plot(w,20*log10(abs(H)));title('Respuesta en frecuencia (magnitud en dB)')
xlabel('Frecuencia en Hz')
ylabel('|H(\omega)|')
grid on
subplot(2,2,3)
plot(w,angle(H));title('Respuesta en frecuancia (fase)')
xlabel('Frecuencia en Hz')
ylabel('Fase')
grid on
subplot(2,2,4)
stem(n,h);
title('Respuesta al impulso')
xlabel('tiempo [n]')
ylabel('h[n]')
%Grafica del plano z
figure(2)
z = roots(b);
p = roots(a);
zplane(z,p)
%%%%%%%SEGUNDO DISEO%%%%%%%%%%%%%%%%
%Diseo de filtro Chebyshev I, realizacin directa
%Especificaciones:
%Fs = 100 Hz Frecuencia de muestreo
%Fbp = 12 Hz Frecuencia en la banda de paso
%Fsb = 15 Hz Frecuencia en la banda de rechazo
%Rp = 1 dB Rizado en la banda de paso
%As = 30 dB mxima atenuacin en la banda de rechazo
Fs = 100; fs=100/2; %Frecuencia de muestreo normalizada
Fbp = 12; fbp = Fbp/fs; %Frecuencia Fbp normalizada
Fsb = 15; fsb = Fsb/fs; %Frecuencia Fsb normalizada
Rp = 1; % Rizado en la banda de paso
As = 30; %Mxima atenuacin en la banda de rechazo
%Diseo del filtro
[N,wn] = cheb1ord(fbp,fsb,Rp,As); %Se obtiene el orden y frecuencia de corte
[b,a] = cheby1(N,Rp,wn); % Se obtienen los coeficiente de la realizacin del filtro IIR en
forma directa
[H,w]=freqz(b,a,512,100);%este comando determina la respuesta en frecuencia del filtro
digital
[h,n] = impz(b,a,50); %clculo de la respuesta al impulso digital
%Grficas
figure(1)
subplot(2,2,1)
plot(w,(abs(H)).^2);title('Respuesta en frecuencia (magnitud)')
xlabel('Frecuencia en Hz')
ylabel('|H(\omega)|^2')
grid on
subplot(2,2,2)
plot(w,20*log10(abs(H)));title('Respuesta en frecuencia (magnitud en dB)')
xlabel('Frecuencia en Hz')
ylabel('|H(\omega)|')
grid on
subplot(2,2,3)
plot(w,angle(H));title('Respuesta en frecuancia (fase)')
xlabel('Frecuencia en Hz')
ylabel('Fase')
grid on
subplot(2,2,4)
stem(n,h);
title('Respuesta al impulso')
xlabel('tiempo [n]')
ylabel('h[n]')
%Grafica del plano z
figure(2)
z = roots(b);
p = roots(a);
zplane(z,p)
%%%%%%%TERCER DISEO%%%%%%%%%%%%%%%%%
%Diseo de filtro Chebyshev II, realizacin directa
%Especificaciones:
%Fs = 100 Hz Frecuencia de muestreo
%Fbp = 12 Hz Frecuencia en la banda de paso
%Fsb = 15 Hz Frecuencia en la banda de rechazo
%Rp = 1 dB Rizado en la banda de paso
%As = 30 dB mxima atenuacin en la banda de rechazo
Fs = 100; fs=100/2; %Frecuencia de muestreo normalizada
Fbp = 12; fbp = Fbp/fs; %Frecuencia Fbp normalizada
Fsb = 15; fsb = Fsb/fs; %Frecuencia Fsb normalizada
Rp = 1; % Rizado en la banda de paso
As = 30; %Mxima atenuacin en la banda de rechazo
%Diseo del filtro
[N,wn] = cheb2ord(fbp,fsb,Rp,As); %Se obtiene el orden y frecuencia de corte
[b,a] = cheby2(N,As,wn); % Se obtienen los coeficiente de la realizacin del filtro IIR en
forma directa
[H,w]=freqz(b,a,512,100);%este comando determina la respuesta en frecuencia del filtro
digital
[h,n] = impz(b,a,50); %clculo de la respuesta al impulso digital
%Graficas
figure(1)
subplot(2,2,1)
plot(w,(abs(H)).^2);title('Respuesta en frecuencia (magnitud)')
xlabel('Frecuencia en Hz')
ylabel('|H(\omega)|^2')
grid on
subplot(2,2,2)
plot(w,20*log10(abs(H)));title('Respuesta en frecuencia (magnitud en dB)')
xlabel('Frecuencia en Hz')
ylabel('|H(\omega)|')
grid on
subplot(2,2,3)
plot(w,angle(H));title('Respuesta en frecuancia (fase)')
xlabel('Frecuencia en Hz')
ylabel('Fase')
grid on
subplot(2,2,4)
stem(n,h);
title('Respuesta al impulso')
xlabel('tiempo [n]')
ylabel('h[n]')
%Grafica del plano z
figure(2)
z = roots(b);
p = roots(a);
zplane(z,p)
%%%%%%%CUARTO DISEO%%%%%%%%%%%%%%%%%
%Diseo de filtro Elptico, realizacin directa
%Especificaciones:
%Fs = 100 Hz Frecuencia de muestreo
%Fbp = 12 Hz Frecuencia en la banda de paso
%Fsb = 15 Hz Frecuencia en la banda de rechazo
%Rp = 1 dB Rizado en la banda de paso
%As = 30 dB mxima atenuacin en la banda de rechazo
Fs = 100; fs=100/2; %Frecuencia de muestreo normalizada
Fbp = 12; fbp = Fbp/fs; %Frecuencia Fbp normalizada
Fsb = 15; fsb = Fsb/fs; %Frecuencia Fsb normalizada
Rp = 1; % Rizado en la banda de paso
As = 30; %Mxima atenuacin en la banda de rechazo
%Diseo del filtro
[N,wn] = ellipord(fbp,fsb,Rp,As); %Se obtiene el orden y frecuencia de corte
[b,a] = ellip(N,Rp,As,wn); % Se obtienen los coeficiente de la realizacin del filtro IIR en
forma directa
[H,w]=freqz(b,a,512,100);%este comando determina la respuesta en frecuencia del filtro
digital
[h,n] = impz(b,a,50); %clculo de la respuesta al impulso digital
%Graficas
figure(1)
subplot(2,2,1)
plot(w,(abs(H)).^2);title('Respuesta en frecuencia (magnitud)')
xlabel('Frecuencia en Hz')
ylabel('|H(\omega)|^2')
grid on
subplot(2,2,2)
plot(w,20*log10(abs(H)));title('Respuesta en frecuencia (magnitud en dB)')
xlabel('Frecuencia en Hz')
ylabel('|H(\omega)|')
grid on
subplot(2,2,3)
plot(w,angle(H));title('Respuesta en frecuancia (fase)')
xlabel('Frecuencia en Hz')
ylabel('Fase')
grid on
subplot(2,2,4)
stem(n,h);
title('Respuesta al impulso')
xlabel('tiempo [n]')
ylabel('h[n]')
%Grafica del plano z
figure(2)
z = roots(b);
p = roots(a);
zplane(z,p)
Segundo diseo.
Situacin
Para una seal de datos muestreada a 10 Hz, disear un filtro
pasa-altos por medio de un filtro Elptico, utilizando para ello los dos
mtodos de diseo: directo y por el mtodo bilineal. Las
caractersticas del filtro son las siguientes:
Fs = 10 Hz.
Fpb = 2.4 Hz
Fsb = 2 Hz
Rp = 1 dB
As = 40 db
Solucin
Basados en los parmetros que se especifican en esta
situacin, realizaremos los dos diseos, a continuacin se muestran
los detalles.
%%%%%%%QUINTO DISEO%%%%%%%%%%%%%%%%%
%Diseo de filtro Elptico pasa-altos, realizacin directa
%Especificaciones:
%Fs = 10 Hz Frecuencia de muestreo
%Fbp = 2.4 Hz Frecuencia en la banda de paso
%Fsb = 2 Hz Frecuencia en la banda de rechazo
%Rp = 1 dB Rizado en la banda de paso
%As = 40 dB mxima atenuacin en la banda de rechazo
Fs = 10; fs=Fs/2; %Frecuencia de muestreo normalizada
Fbp = 2.4; fbp = Fbp/fs; %Frecuencia Fbp normalizada
Fsb = 2; fsb = Fsb/fs; %Frecuencia Fsb normalizada
Rp = 1; % Rizado en la banda de paso
As = 40; %Mxima atenuacin en la banda de rechazo
%Diseo del filtro
[N,wn] = ellipord(fbp,fsb,Rp,As); %Se obtiene el orden y frecuencia de corte
[b,a] = ellip(N,Rp,As,wn,'high'); % Se obtienen los coeficiente de la realizacin del filtro IIR
en forma directa
[H,w]=freqz(b,a,512,100);%este comando determina la respuesta en frecuencia del filtro
digital
[h,n] = impz(b,a,50); %clculo de la respuesta al impulso digital
%Grficas
figure(1)
subplot(2,2,1)
plot(w,(abs(H)).^2);title('Respuesta en frecuencia (magnitud)')
xlabel('Frecuencia en Hz')
ylabel('|H(\omega)|^2')
grid on
subplot(2,2,2)
plot(w,20*log10(abs(H)));title('Respuesta en frecuencia (magnitud en dB)')
xlabel('Frecuencia en Hz')
ylabel('|H(\omega)|')
grid on
subplot(2,2,3)
plot(w,angle(H));title('Respuesta en frecuancia (fase)')
xlabel('Frecuencia en Hz')
ylabel('Fase')
grid on
subplot(2,2,4)
stem(n,h);
title('Respuesta al impulso')
xlabel('tiempo [n]')
ylabel('h[n]')
%Grafica del plano z
figure(2)
z = roots(b);
p = roots(a);
zplane(z,p)
%%%%%%%SEXTO DISEO%%%%%%%%%%%%%%%%%
%Diseo de filtro Elptico pasa-altos, mtodo bilineal
%Especificaciones:
%Fs = 10 Hz Frecuencia de muestreo
%Fbp = 2.4 Hz Frecuencia en la banda de paso
%Fsb = 2 Hz Frecuencia en la banda de rechazo
%Rp = 1 dB Rizado en la banda de paso
%As = 40 dB mxima atenuacin en la banda de rechazo
Fs = 10;fs = Fs/2;
Fpb = 2.4; fpb = Fpb/fs;
Fsb = 2; fsb = Fsb/fs;
Rpb = 1;
Asb = 40;
[N,wn] = ellipord(fpb,fsb,Rpb,Asb);
N = 5;
[z,p,k] = ellipap(N,Rpb,Asb);
b = k*poly(z);
a = poly(p);
[b1,a1] = lp2hp(b,a,2*pi*Fpb); %transformacin "pasa-bajo" a "pasa-alto"
[b2,a2] = bilinear(b1,a1,fs); %transformacin de coeficientes analogos a digitales por el
metos bilineal
[H,w] = freqz(b2,a2,512,10); %obtencin de la respuesta en frecuancia del filtro digital
figure;
[h,n] = impz(b2,a2,50); %clculo de la respuesta al impulso digital
%Grficas
figure(1)
subplot(2,2,1)
plot(w,(abs(H)).^2);title('Respuesta en frecuencia (magnitud)')
xlabel('Frecuencia en Hz')
ylabel('|H(\omega)|^2')
grid on
subplot(2,2,2)
plot(w,20*log10(abs(H)));title('Respuesta en frecuencia (magnitud en dB)')
xlabel('Frecuencia en Hz')
ylabel('|H(\omega)|')
grid on
subplot(2,2,3)
plot(w,angle(H));title('Respuesta en frecuancia (fase)')
xlabel('Frecuencia en Hz')
ylabel('Fase')
grid on
subplot(2,2,4)
stem(n,h);
title('Respuesta al impulso')
xlabel('tiempo [n]')
ylabel('h[n]')
%Grafica del plano z
figure(2)
z = roots(b);
p = roots(a);
zplane(z,p)
Tercer diseo.
Situacin
Desarrollar un filtro IIR Butterworth mediante Matlab para el anlisis
de un filtro IIR Butterworth, y su aplicacin al filtrado pasabajos, usando la
herramienta sptool de Matlab, a una seal de voz (analisis.wav).
Solucin
La primera instruccin en Matlab es cargar al espacio de
trabajo el archivo .wav que servir de base a nuestro anlisis.
>>[y,fs]=wavread(C:\Users\Tiago\Desktop\AUDIO.wav)
Donde y es la variable que guarda las muestras de la seal de voz, fs es la
frecuencia de muestreo.
Se obtuvo una frecuencia de muestreo fs=16000 Hz.
A continuacin se ocup la herramienta sptool:
>>sptool
Herramienta Sptool de Matlab.
Para cargar la seal que nos interesa desde el espacio de trabajo,
hacemos clic en File, import.
Una vez cargada la seal la podemos visualizar:
Visualizacin de nuestra seal (kill_bill.wav)
A continuacin hacemos clic en filters, new design.
Filtro IIR Butterworth en sptool de Matlab.
Elegimos en mtodo de diseo el tipo de filtro, en este caso IIR Butterworth
orden 6 y con los parmetros:
Fp: Frecuencia lmite de pasabanda.
Fs: Frecuencia lmite de parabanda.
Rd: Rizado de pasabanda.
Rs: rizado de parabanda. (ver fig 2)
Los dems parmetros son:
Sampling Frequency: Es la frecuencia de muestreo, en nuestro caso
16000Hz.
Minimum Order: n mnimo para obtener este filtro.
Auto Design: Dejar que el programa se encargue de disearlo
dndole un valor de n y la frecuencia de muestreo.
Una vez especificado el filtro a usar, volvemos a la ventana de sptool y en
Filters, View podremos visualizar nuestro filtro:
Filter Viewer en frecuencia v/s magnitud y frecuencia v/s fase (en grados)
En las distintas ventanas podemos modificar la escala a ocupar y el rango
a ocupar.
Adems podremos ver en esta ventana el grafico en z de los polos y ceros
de nuestro sistema (filtro).
Ceros y polos de nuestro filtro.
Cabe hacer notar que tenemos 6 polos, dentro del crculo unitario
que corresponden a los polos de la funcin ( ) H s en el semiplano
izquierdo, por lo que concluimos que se trata de un filtro estable.
Para poder apreciar la seal de salida al filtro, seleccionamos la
seal de entrada y el filtro que estamos aplicando, hacemos clic en
Apply y obtenemos:
Cuadro de dialogo para una seal de entrada obteniendo una salida al filtro.
Una vez obtenida nuestra seal la podremos visualizar:
Seal de salida a nuestro filtro.
Comparando las 2 seales podemos apreciar claramente la
diferencia, podemos escuchar como las componentes de ms alta
frecuencia se ha eliminado para nuestra seal de salida.
Ahora apreciaremos el efecto en frecuencia de nuestro filtro
pasabajos Butterworth.
Primero seleccionaremos nuestra seal de entrada, en Spectra
hacemos clic en Create y finalmente en la nueva ventana hacemos
clic en Apply, y podemos visualizar la seal de entrada.
Espectro en frecuencia v/s decibeles.
Variables:
En la ventana de Method hemos seleccionado FFT (la transformada
rpida de Fourier).
Nfft: Es el nmero de pasos de la FFT.
Para la seal de salida hacemos lo mismo.
Espectro de la seal de salida.
Podemos apreciar como el filtro logro recortar las componentes de
frecuencia mayores a
s
f y tambin podemos apreciar la banda de
transicin entre
p
f y
s
f .
6. Tareas a realizar.
1. Disee un filtro pasa-bajo directo por los cuatro mtodos, con las
siguientes caractersticas.
Fs = 20 kHz
Fpb = 4.5 kHz
Fsb = 4.56 kHz
Rp = 2 dB
As = 70 dB
Diseo de filtro Butterworth
Diseo de filtro Chebyshev I
Diseo de filtro Chebyshev II
Diseo de filtro Elptico, realizacin directa
2. Disee un filtro pasa altos elptico por el mtodo directo y la
transformada bilineal con las siguientes caractersticas.
Fs = 1 kHz
Fpb = 350 Hz
Fsb = 250 Hz
Rp = 1 dB
As = 60 Db
Filtro pasa altos elptico por el mtodo directo
Filtro pasa altos elptico por el mtodo bilineal
3. Disee un filtro Chevyshev I pasa-bandas por el mtodo directo y por la
transformada bilineal.
Orden = 8
Fs = 30 Hz
Frecuencia de borde en la banda ms baja Fc1 = 4Hz
Frecuencia de borde en la banda ms alta Fc2 = 8Hz
Rizado en la banda de paso = 1 dB
4. Usar la herramienta sptool de Matlab, tomando en cuenta las siguientes
consideraciones:
Siguiendo el mismo procedimiento de Tercer diseo (Seccin
anterior), para un archivo *.wav definido a libre eleccin
aplicar un filtro IIR, cuyos requerimientos sern definidos segn
sus necesidades.
Presentar resultados segn la seccin anterior (Tercer diseo).
Adjunta el fichero filtro.spt el cual contiene la sesin de Sptool
empleada para este trabajo.
5. Responda lo siguiente: Cul es la importancia de usar filtros analgicos
o digitales en los transmisores y receptores de RF?.
6. Busque un diagrama de un receptor o transmisor, e identifique los filtros
usados y describa la funcin que desempeen.
5. Resultados
Entregar cada uno de las actividades resueltas y sus conclusiones.
6. CONCLUSIONES
El profesional en formacin debe analizar los resultados obtenidos en cada una
de las actividades propuestas, as como de aquellas otras que estime necesarias.