practica 2 iib (1)
Post on 19-Jan-2016
68 Views
Preview:
TRANSCRIPT
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJALa Universidad Católica de Loja
Electrónica y Telecomunicaciones Electrónica de Radiofrecuencia
Práctica: Diseño de filtros IIR (Infinite Inpulse Response).
Número: 2.Profesores:
Ing. Manuel Quiñones Cuenca.Fecha: 08/04/2014Integrantes:
1) ……………………………………………2) ……………………………………………3) ……………………………………………
1. Resumen
Durante esta práctica se va a diseñar e implementar filtros (tomando como
base los IIR), por medio del uso de herramientas de software para evaluar sus
características y propiedades, y los diferentes métodos dedicados para este
propósito; para aplicarlos en receptores y transmisores. Finalmente les invito
estimados estudiantes a empezar con optimismo la presente práctica.
2. Objetivos
Diseñar e implementar algoritmos que modelan el comportamiento de
los filtros IIR.
Diseño de modelos específicos para filtros pasa-bajos, pasa-altos, pasa-
banda, rechaza banda.
Entender la importancia de usar filtros en transmisores y receptores.
3. Reglas generales para el desarrollo de las Prácticas de Laboratorio.
Las presentaciones de resultados deben ser originales, es decir, se
sancionará a los equipos o autores de prácticas idénticas.
El día de entrega de la práctica debe ser en formato electrónico y subido
al sistema EVA (Subir informe y archivos generados)
Durante revisión de la práctica, se verificara los resultados y las
conclusiones que hayan obtenido con el fin de corroborar los objetivos
de la práctica se haya logrado.
4. Desarrollo de laboratorio
A continuación se presenta un tutorial, que nos llevará al final de desarrollo de
sistemas de filtros IIR (Infinite Impulse Response).
Se mostrará algunos ejemplos de diseño, en los cuales, usted deberá
completar una tarea de diseño final, y obtener sus conclusiones
(documentar).
1. Introducción.
El problema de diseñar filtro digitales, involucra que se logre
determinara un conjunto de coeficientes del filtro, los cuales cumplan con
las especificaciones del diseño. Estas especificaciones típicamente
consisten en el ancho de la(s) banda(s) pasante y su correspondiente
ganancia, en el ancho de la(s) banda(s) de rechazo y la atenuación en la
misma; las frecuencias en las bandas de borde (las cuales indican la banda
de transición) y el rizo de pico tolerable en la banda pasante y en la banda
de rechazo.
El diseño de filtros IIR está estrechamente relacionado al diseño de
filtros analógicos, los mismos que tienen un fuerte respaldo en la literatura
(Libros con basta información de diseño de filtros analógicos). Usualmente
se diseña un filtro analógico, para luego llevar a cabo su transformación en
el dominio digital. Existen dos métodos de transformación: la
transformación de invarianza en el impulso y el método de la
transformación bilineal. En este tutorial se hará uso de la transformación
bilineal.
En el diseño de filtros IIR, se logran características de orden (N) más
bajos que en sus correspondientes filtros FIR (Finite Impulse Response). A
continuación se trabajará con filtros Butterworth, Chevyshev I y II; y filtros
Elípticos en pasabajos. Y luego se realizará el procedimiento para el diseño
de otro tipo de filtros (pasa-altos, pasa-banda, rechaza-banda).
2. Técnicas de mapeo para cambio de analógico a dominio digital.
Los filtros digitales se diseñan usando valores pasados de la salida
y valores presentes de la entrada, por medio de la convolución. La
respuesta de este filtro puede ser infinita en duración; por tal motivo su
denominación. La respuesta al impulso infinita implica la habilidad del
filtro de tener una respuesta al impulso infinita. Esto indica que el filtro
es propenso a la retroalimentación y a la inestabilidad.
Se estudiará algunos tipos de filtros IIR incluyendo el filtro
Butterworth, Chevyshev I & II y los filtros Elípticos, pasa-bajos, pasa-
altos, pasa-banda. Los filtros IIR se diseñan básicamente por los métodos
de Invarianza en Impulso y el método de transformación Bilineal.
2.1. Invarianza en el Impulso.
Este procedimiento envuelve la elección de la respuesta del filtro
digital como una versión muestreada equi-espaciada de un filtro
analógico.
a. Primer paso.- se decide sobre la respuesta en frecuencia
deseada.
b. Segundo paso.- se diseña un filtro analógico apropiado.
c. Tercer paso.- cálculo de la respuesta al impulso de este
filtro analógico.
d. Curato paso.- Muestreo de la respuesta al impulso del filtro
analógico.
e. Quinto paso.- Uso del resultado como coeficientes del filtro.
El método de invarianza en impulso mapea la porción izquierda
del plano-s en el interior del circulo unitario y la porción hacia la derecha
del plano-s en el exterior del circulo unitario. A partir de las
características de cualquier filtro analógico se sabe que no puede haber
interferencia de banda limitada esta es una de las mayores
consideraciones. Debido al aliasing presente en el muestreo la respuesta
de la frecuencia digital es distinta de la respuesta en frecuencia de los
filtros analógicos. A partir de eso es que la distorsión de la respuesta en
fase es uno de los mayores factores limitantes de su implementación
mientras que su ventaja está en el hecho de que hay una relación lineal
entre el sistema analógico y digital con respecto a su respuesta en
magnitud. Para prevenir estas distorsiones debido a la limitación de
banda este método se restringe al diseño de filtros pasa-bajo y pasa-
banda.
2.2. Transformación bilineal.
El método de la Transformada Bilineal, supera el efecto del
aliasing, que es causado debido a la respuesta en frecuencia analógica
que contiene componentes que están en, o más allá de la Frecuencia de
Nyquist. La transformada bilineal es un método de compresión del
infinito, directamente desde el eje de frecuencia analógica a una de
longitud finita, la cual se reforma alrededor del círculo unitario una sola
vez. Algunas veces se la conoce como deformación en frecuencia
(frequency warping). Esta introduce una distorsión en la frecuencia. Se
trata de deshacer por medio de pre-deformaciones las frecuencias
críticas del filtro análogo (frecuencia de corte y frecuencia central) tal
como cuando los filtros analógicos se transforman en filtro digitales, el
filtro digital diseñado deberá cumplir con ciertas especificaciones
deseadas.
Considere un filtro analógico:
H (s )= bs+a
(1)
El sistema puede ser caracterizado por una ecuación diferencial:
ddty (t )+ay ( t )=bx ( t )(2)
Supongamos la aproximación de la integral en vez de la derivada
y (t )=∫ y ' τ dτ+ y (t0)(3)
Podemos aproximar la integral usando la fórmula Trapezoidal
y (nT )=T2
[ y' (nT )+ y ' (nT−T ) ]+ y (nT−T )(4)
A partir de la ecuación diferencial, podemos sustituir por y(t)
y ' (nT )=−ay (nT )+bx (nT )(5)
Podemos sustituir esto en la regla trapezoidal y escribimos
(1+ aT2 ) y (n )−(1−aT
2 ) y (n−1 )=bT2
[ x (n )+x (n−1 ) ](6)
Obtenemos la transformada-z:
(1+ aT2 )Y ( z )−(1−aT2 ) z−1Y (z)=bT
2(1+z−1 ) X (z )(7)
La cual se simplifica a:
H ( z )=Y (z )
X (z)= b
2T ( 1−z−1
1+z−1 )+a(8)
Se puede observar que el mapeo es el siguiente:
H ( z )=H (s)¿s=2T ( 1−z−1
1+z−1 )(9)
Este mapeo es conocido como la transformada Bilineal.
Resolviendo esta ecuación para y, obtenemos:
s≤¿ 2T ( z−1z+1 )(10)
Esta transformación 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 = ejω obtenemos:
ω=2 tan−1(ΩT2 )(11)
Se puede ver que el componente análogo de DC (s = 0) mapea al
contenido DC digital (z = 1) y la frecuencia analógica más alta (s = ∞)
mapea a la frecuencia digital más alta (z = -1). Es fácil mostrar que todo
el eje jω en el plano s es mapeado exactamente una vez alrededor del
círculo 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 círculo
unitario interior, y la mitad derecha del plano s mapea fuera del círculo
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 ubicación deseada sobre el circulo
unitario ejω en el plano z. Todas las otras frecuencias serán deformadas.
En particular, aproximando la mitad de la tasa de muestreo, el eje de
frecuencia se comprime más y más. Los filtros tienen una simple
transición 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 Elíptico y
Chevyshev porque los valores tomados sobre la respuesta en frecuencia
son idénticos 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 más bajo orden son lo mejor (lo más corto
posibles) en el dominio del tiempo, y los de orden más alto son lo mejor
en el dominio de la frecuencia. Los filtros Butterworth o máximamente
planos tienen una respuesta en frecuencia de amplitud monotónica la
cual es máximamente plana cuando la respuesta en frecuencia es igual
a cero (Figura 1). Y la respuesta en amplitud decrece logarítmicamente
conforme incrementa la frecuencia. Los filtros Butterworth tienen un
mínimo desplazamiento en fase comparados con otro tipo de filtros
convencionales.
B(ω)B (ω)= 1
1+( ωω0 )2n
(12)
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 están equi-ripple en la banda
de paso y son monotónicos 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 monotónico 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:
|H (Ω)|2=(1+ε2T N
2 ( ΩΩp ))−1
(13)
Donde ε es un parámetro relacionado al rizo presente en la banda
pasante.
T N=cos (N cos−1 ( x ) )|x|≤1
cos (N cosh−1 ( x ) )|x|≥1(14 )
3.3. Filtros Elípticos.
Los filtros elípticos son caracterizados por ser igualmente rizados
en ambos lados de la banda de paso y de rechazo (Figura 4), éste nos
provee una realización con el orden más bajo para ciertas condiciones
particulares establecidas.
|H ( jΩ )|=10−R p20 Ω=1(15)
Transformaciones de frecuencia.
Esta es una de las mayores técnicas empleadas en el diseño de
filtros. Se puede diseñar un filtro pasa-bajos analógico o digital y luego
este se transforma en un filtro digital pasa-altos o pasa-banda.
Transformaciones de frecuencia analógica.
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í Ω02 = Ω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.
|H ( jΩ )|= Ω0
Ω2−Ω1
(16)
Donde Ω2 y Ω1 son la más alta y la más baja frecuencia de
corte respectivamente. Ω2 - Ω1 dan como resultado el ancho de
banda.
Tabla 1. Relación entre los tipos de filtros y las transformaciones de frecuencia analógica.
Tipo de filtros Transformación
Pasa-bajos S= sΩc
Pasa-altasS=Ωcs
Pasa-banda
S=Q (s2+Ω0
2 )Ω0 s
4. Funciones de Matlab para el diseño 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 analógico. 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)
Cálculo 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 analógico
[N, Wn] = cheb2ord(Wp, Ws, Rp, Rs)
Filtro digital de Chebyshev II
[N, Wn] = cheb2ord(Wp, Ws, Rp, Rs, 's')
Filtro analógico de Chebyshev II
[N, Wn] = ellipord(Wp, Ws, Rp, Rs)
Filtro digital elíptico
[N, Wn] = ellipord(Wp, Ws, Rp, Rs, 's')
Filtro analógico elíptico.
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 diseñar un filtro pasobajo Wn es un
escalar entre (0,1). La pasabanda es (0, Wn) y la parabanda es
(Wn,1). Para diseñar 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)
Diseño 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 diseñar filtros
de pasoalto, pasabanda y parabanda se siguen las mismas reglas que en
el diseño 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. Añadiendo a los
comandos anterior la opción ‘s’, los vectores B y A son los coeficientes
del filtro analógico correspondiente. Sigue siendo válido lo que se
mencionó anteriormente acerca del diseño 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 diseñado
Para los filtros analógicos
>> H = freqs(B,A,W)
Devuelve el vector H de números complejos, que es la respuesta
frecuencial al filtro cuya función de transferencia en s viene dada por B y
A. La respuesta frecuencial se evalúa en los puntos especificados por el
vector W en radianes. Más 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 función 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 números complejos, que es la respuesta
frecuencial al filtro cuya función de transferencia en z viene dada por B y
A. La respuesta frecuencial se evalúa en los puntos especificados por el
vector F en Hz, siendo la frecuencia de mustreo Fs Hz. Más opciones en
el Help de MATLAB.
gd = grpdelay(B,A,F,Fs)
Calcula retraso de grupo (-df1/dt) de la función de Transferencia formada
por los polinomios B y A. Se evalúa en los puntos especificados por W en
radianes. Para más opciones de esta función 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 función de Transferencia Discreta.
5. Diseño de filtros IIR.
El Toolbox de MATLAB dedicado al procesamiento de
señales, incluye algunas funciones útiles para diseñar ambas
clases de filtros digitales FIR e IIR así como también para el diseño
tradicional de filtros analógicos. Las características básicas de los
tipos de filtros analógicos comunes ya se han resumido en las
secciones previas. Los filtros considerados fueron los filtros
Butterworth, Chevyshev I & II, y los filtros Elípticos.
Primer diseño.
Situación
Para una señal de datos muestreada a 100 Hz, diseñar 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 atenuación en la banda
de rechazo, definido a 15 Hz de la frecuencia de Nyquist.
Solución
Basados en los parámetros que se especifican en esta situación,
realizaremos los diseños de Butterworth, Chevyshev I & II y Elíptico, por
el método directo.
%%%%%%%PRIMER DISEÑO%%%%%%%%%%%%%%%%%%Diseño de filtro Butterworth, realización 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 máxima atenuación en la banda de rechazo
Fs = 100; fs=100/2; %Frecuencia de muestreo normalizadaFbp = 12; fbp = Fbp/fs; %Frecuencia Fbp normalizadaFsb = 15; fsb = Fsb/fs; %Frecuencia Fsb normalizadaRp = 1; % Rizado en la banda de pasoAs = 30; %Máxima atenuación en la banda de rechazo
%Diseño 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 realización 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); %cálculo de la respuesta al impulso digital
%Gráficasfigure(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 zfigure(2)z = roots(b);p = roots(a);zplane(z,p)
%%%%%%%SEGUNDO DISEÑO%%%%%%%%%%%%%%%%%Diseño de filtro Chebyshev I, realización 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 máxima atenuación en la banda de rechazo
Fs = 100; fs=100/2; %Frecuencia de muestreo normalizadaFbp = 12; fbp = Fbp/fs; %Frecuencia Fbp normalizadaFsb = 15; fsb = Fsb/fs; %Frecuencia Fsb normalizadaRp = 1; % Rizado en la banda de pasoAs = 30; %Máxima atenuación en la banda de rechazo%Diseño 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 realización 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); %cálculo de la respuesta al impulso digital
%Gráficasfigure(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 zfigure(2)z = roots(b);p = roots(a);
zplane(z,p)
%%%%%%%TERCER DISEÑO%%%%%%%%%%%%%%%%%%Diseño de filtro Chebyshev II, realización 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 máxima atenuación en la banda de rechazo
Fs = 100; fs=100/2; %Frecuencia de muestreo normalizadaFbp = 12; fbp = Fbp/fs; %Frecuencia Fbp normalizadaFsb = 15; fsb = Fsb/fs; %Frecuencia Fsb normalizadaRp = 1; % Rizado en la banda de pasoAs = 30; %Máxima atenuación en la banda de rechazo%Diseño 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 realización 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); %cálculo de la respuesta al impulso digital
%Graficasfigure(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 zfigure(2)z = roots(b);p = roots(a);
zplane(z,p)
%%%%%%%CUARTO DISEÑO%%%%%%%%%%%%%%%%%%Diseño de filtro Elíptico, realización 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 máxima atenuación en la banda de rechazo
Fs = 100; fs=100/2; %Frecuencia de muestreo normalizadaFbp = 12; fbp = Fbp/fs; %Frecuencia Fbp normalizadaFsb = 15; fsb = Fsb/fs; %Frecuencia Fsb normalizadaRp = 1; % Rizado en la banda de pasoAs = 30; %Máxima atenuación en la banda de rechazo%Diseño 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 realización 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); %cálculo de la respuesta al impulso digital
%Graficasfigure(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 zfigure(2)
z = roots(b);p = roots(a);zplane(z,p)
Segundo diseño.
SituaciónPara una señal de datos muestreada a 10 Hz, diseñar un
filtro pasa-altos por medio de un filtro Elíptico, utilizando para ello
los dos métodos de diseño: directo y por el método bilineal. Las
características del filtro son las siguientes:
Fs = 10 Hz.
Fpb = 2.4 Hz
Fsb = 2 Hz
Rp = 1 dB
As = 40 db
Solución Basados en los parámetros que se especifican en esta
situación, realizaremos los dos diseños, a continuación se
muestran los detalles.
%%%%%%%QUINTO DISEÑO%%%%%%%%%%%%%%%%%%Diseño de filtro Elíptico pasa-altos, realización 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 máxima atenuación en la banda de rechazo
Fs = 10; fs=Fs/2; %Frecuencia de muestreo normalizadaFbp = 2.4; fbp = Fbp/fs; %Frecuencia Fbp normalizadaFsb = 2; fsb = Fsb/fs; %Frecuencia Fsb normalizadaRp = 1; % Rizado en la banda de pasoAs = 40; %Máxima atenuación en la banda de rechazo%Diseño 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 realización 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); %cálculo de la respuesta al impulso digital
%Gráficasfigure(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 zfigure(2)z = roots(b);p = roots(a);zplane(z,p)
%%%%%%%SEXTO DISEÑO%%%%%%%%%%%%%%%%%%Diseño de filtro Elíptico pasa-altos, método 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 máxima atenuación 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); %transformación "pasa-bajo" a "pasa-alto"[b2,a2] = bilinear(b1,a1,fs); %transformación de coeficientes analogos a digitales por el metos bilineal
[H,w] = freqz(b2,a2,512,10); %obtención de la respuesta en frecuancia del filtro digitalfigure;[h,n] = impz(b2,a2,50); %cálculo de la respuesta al impulso digital
%Gráficasfigure(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 zfigure(2)z = roots(b);p = roots(a);zplane(z,p)
Tercer diseño.
Situación
Desarrollar un filtro IIR Butterworth mediante Matlab para el
análisis de un filtro IIR Butterworth, y su aplicación al filtrado pasabajos,
usando la herramienta sptool de Matlab, a una señal de voz
(analisis.wav).
Solución
La primera instrucción en Matlab es cargar al espacio de
trabajo el archivo .wav que servirá de base a nuestro análisis.
>>[y,fs]=wavread(‘C:\Users\Tiago\Desktop\AUDIO.wav’)
Donde y es la variable que guarda las muestras de la señal de voz, fs es
la frecuencia de muestreo.
Se obtuvo una frecuencia de muestreo fs=16000 Hz.
A continuación se ocupó la herramienta sptool:
>>sptool
Herramienta Sptool de Matlab.
Para cargar la señal que nos interesa desde el espacio de trabajo,
hacemos clic en File, import.
Una vez cargada la señal la podemos visualizar:
Visualización de nuestra señal (kill_bill.wav)
A continuación hacemos clic en filters, new design.
Filtro IIR Butterworth en sptool de Matlab.
Elegimos en método de diseño el tipo de filtro, en este caso IIR
Butterworth orden 6º y con los parámetros:
Fp: Frecuencia límite de pasabanda.
Fs: Frecuencia límite de parabanda.
Rd: Rizado de pasabanda.
Rs: rizado de parabanda. (ver fig 2)
Los demás parámetros son:
Sampling Frequency: Es la frecuencia de muestreo, en nuestro
caso 16000Hz.
Minimum Order: n mínimo para obtener este filtro.
Auto Design: Dejar que el programa se encargue de diseñarlo
dándole 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.
Además 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 círculo unitario
que corresponden a los polos de la función en el semiplano
izquierdo, por lo que concluimos que se trata de un filtro estable.
Para poder apreciar la señal de salida al filtro, seleccionamos la
señal de entrada y el filtro que estamos aplicando, hacemos clic en
Apply y obtenemos:
Cuadro de dialogo para una señal de entrada obteniendo una salida al filtro.
Una vez obtenida nuestra señal la podremos visualizar:
Señal de salida a nuestro filtro.
Comparando las 2 señales podemos apreciar claramente la
diferencia, podemos escuchar como las componentes de más alta
frecuencia se ha eliminado para nuestra señal de salida.
Ahora apreciaremos el efecto en frecuencia de nuestro filtro
pasabajos Butterworth.
Primero seleccionaremos nuestra señal de entrada, en Spectra
hacemos clic en Create y finalmente en la nueva ventana hacemos
clic en Apply, y podemos visualizar la señal de entrada.
Espectro en frecuencia v/s decibeles.
Variables:
En la ventana de Method hemos seleccionado FFT (la
transformada rápida de Fourier).
Nfft: Es el número de pasos de la FFT.
Para la señal de salida hacemos lo mismo.
Espectro de la señal de salida.
Podemos apreciar como el filtro logro recortar las componentes de
frecuencia mayores a y también podemos apreciar la banda de
transición entre y .
6. Tareas a realizar.
1. Diseñe un filtro pasa-bajo directo por los cuatro métodos, con las siguientes características.
Fs = 20 kHz
Fpb = 4.5 kHz
Fsb = 4.56 kHz
Rp = 2 dB
As = 70 dB
Diseño de filtro Butterworth
Diseño de filtro Chebyshev I
Diseño de filtro Chebyshev II
Diseño de filtro Elíptico, realización directa
2.
2. Diseñe un filtro pasa altos elíptico por el método directo y la transformada bilineal con las siguientes características.
Fs = 1 kHz
Fpb = 350 Hz
Fsb = 250 Hz
Rp = 1 dB
As = 60 Db
Filtro pasa altos elíptico por el método directo
Filtro pasa altos elíptico por el método bilineal
3. Diseñe un filtro Chevyshev I pasa-bandas por el método directo y por la transformada bilineal.
Orden = 8
Fs = 30 Hz
Frecuencia de borde en la banda más baja Fc1 = 4Hz
Frecuencia de borde en la banda más 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 diseño
(Sección anterior), para un archivo *.wav definido a libre
elección aplicar un filtro IIR, cuyos requerimientos serán
definidos según sus necesidades.
Presentar resultados según la sección anterior (Tercer
diseño).
Adjunta el fichero filtro.spt el cual contiene la sesión de
Sptool empleada para este trabajo.
5. Responda lo siguiente: ¿Cuál es la importancia de usar filtros analógicos 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 función que desempeñen.
5. Resultados
Entregar cada uno de las actividades resueltas y sus conclusiones.
6. CONCLUSIONES
El profesional en formación debe analizar los resultados obtenidos en cada una
de las actividades propuestas, así como de aquellas otras que estime
necesarias.
top related