Doctor

Páginas: 12 (2958 palabras) Publicado: 14 de abril de 2013
Filtro de Butterworth

Condiciones a cumplir por el filtro (datos del problema)

FS=24000 frecuencia de muestreo

Fp= 3000 frecuencia límite del pasabanda

Fs= 6000 frecuencia límite del stopbanda

Dp = 1 db atenuación máxima en el pasabanda

Ds = 30 db atenuación mínima en el stopbanda

Para adecuar a la función que permite el cálculo del orden del filtro, Fc y Fsdeben llevarse a la forma normalizada



Por lo tanto resulta:

Wp = 3000/12000 = 0.25 Ws = 6000/12000 = 0.5

Resolución del problema

Se calcula primero el orden (N) y la frecuencia de potencia mitad (Ws) (valor de la frecuencia para el cual |H(z)|2 cae a la mitad).

[N, Wn] = buttord(Wp, Ws, Rp, Rs)
[N, Wn] = buttord(0.25, 0.50, 1, 30)

Resultando:

N = 5 Wn =0.2958

Con este resultado previo, se procede al diseño del filtro de Butterworth que cumpla con las características especificadas:

[B,A] = BUTTER(N,Wn)

[B,A] = BUTTER(5,0.2958)

Resultando:
B = [0.0065 0.0327 0.0655 0.0655 0.0327 0.0065 ]

A = [1.0000 -2.0177 2.0732 -1.1455 0.3423 -0.0428 ]

Luego, la función de transferencia, está dada por



Sustituyendo z=exp(j) seobtiene la respuesta en amplitud del filtro, |H()|



Gráficamente (poniendo como eje horizontal )



Matlab dispone de una función específica que permite obtener directamente gráficamente la respuesta en amplitud del filtro.

[H,W] = FREQZ(B,A,N) retorna el vector H de N-puntos de la respuesta en frecuencia y el vector de frecuencia de N-puntos W en radianes/muestra del filtro.Luego, ejecutando:

[H,W] = FREQZ(B,A,1000);
plot(W./pi,abs(H))

Se obtiene la misma curva anterior



Si se quiere observar tanto la respuesta en amplitud como la de fase, se procede con la misma función anterior pero si primer miembro.



Con la diferencia que aquí, en la respuesta en amplitud, las magnitudes del eje vertical están dadas en decibeles (db).
También se pueden hacerseparadamente con:

m = abs(H); p = unwrap(angle(H));
semilogy(w/length(w),m); title('Magnitud');
figure; plot(w/length(w),p*180/pi); title('Fase');

Resultando:


Para verificar si se cumplen las condiciones de atenuación, precisamente se necesita que el eje de ordenadas esté en db, lo que se logra redefiniendo a |H(z)| como 20*log(|H(z)|)



Con lo que se puede apreciar que en lafrecuencia de comienzo del stopbanda, la atenuación es de 30 db (el signo negativo indica precisamente atenuación, si fuese positivo sería amplificación)
Para ver que ocurre en el pasabanda, se hará un zoom adecuado.



Como se aprecia, la atenuación en el pasabanda está por debajo de 1 db.
La implementación del filtro, su ecuación diferencia, se puede establecer desde H(z)Antitransformando



Despejando ahora yn


Si al filtro se le inyecta un impulso


La salida se ve gráficamente como:


Mediante Matlab, se puede usar la función filter para realizar esta tarea.

i=1:512;x(i)=0; x(255)=1; % genera el impulso en la mitad % de la secuencia
Y=filter(B,A,x); % Encuentra la salida del filtro
% calculado para la secuencia xplot(Y) % Grafica la salida



La función filter es implementada como la estructura “transposed direct-form II “mostrada debajo, donde n-1 es el orden del filtro. Esta es una forma canónica que tiene el mínimo número de elementos delay.


Con la función zplane(Z,P) se pueden graficar los polos y ceros en el plano complejo de una función de transferencia.
Para ello es necesario calcularpreviamente los polos (ceros del denominador) y ceros (ceros del numerador) con la función roots.

P=roots(A) % calcula ceros del denominador (polos)
Z=roots(B) % calcula ceros del numerador (ceros)
zplane(Z,P)



Secciones de Segundo-Orden (SOS)

Cualquier función de transferencia H(z) tiene una representación en secciones de Segundo-Orden.


donde L es el número de secciones de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Doctor
  • Doctora
  • Doctor
  • Doctor
  • Doctor
  • Doctorado
  • Doctor
  • Doctor

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS