Post on 20-Apr-2017
PROYECTO FINAL
PROCESAMIENTO DIGITAL DE SEÑALES
ANA ISABEL BOLAÑOS
TUTORA
JUAN CLIMACO PINILLA OSPITIA
CODIGO 299004_28
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA ESCUELA DE
CIANCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA PROGRAMA DE
INGENIERÍA ELECTRÓNICA
2013
2. Calcule la función de transferencia G(z) de un filtro digital pasa - bajo
con frecuencia de corte de 20 Hz con 3 dB de atenuación, y al menos
10dB a 40Hz. La frecuencia de muestreo fs=200Hz.
a) Realice el diseño a partir de un prototipo analógico de Butterworth
utilizando el método de la transformada bilineal (Apoyarse en las
funciones de MatLab bilinear y buttap) b) Realice el diseño a partir de un
prototipo analógico directo de Chebyshev utilizando el método del
Impulso Invariante (Apoyarse en las funciones de MatLab impinvary
cheb1ap)
Para estimar el orden del filtro en cada caso se emplearán las funciones
de MatLab buttord y cheb1ord.
Se puede obtener la función de transferencia del filtro a partir de los
polos y ceros con la función zp2tf.
>> %Calculo del orden del filtro (n) y la normalización (Wn).con el
comando buttord;
[n,Wn]=buttord(2*pi*20,2*pi*40,3,10,'s')
n =
2
Wn =
145.1039
>> %Una vez obtenido el orden del filtro aplicamos el comando buttap
para filtro normalizado y generamos los polos y los ceros más la
ganancia;
[z,p,k]=buttap(2)
z =
[]
p =
-0.7071 + 0.7071i
-0.7071 - 0.7071i
k =
1
>> %Para obtener la función de transferencia del filtro ejecutamos el
siguiente comando;
[num,den]=zp2tf(z,p,k)
num =
0 0 1
den =
1.0000 1.4142 1.0000
>> %Ahora se aplica el comando bilinear el cual nos muestra la función
de transferencia del filtro en el plano z;
>> [numz,denz]=bilinear(num,den,200,'z')
numz =
1.0e-04 *
0.1320 0.2639 0.1320
denz =
1.0000 -2.0102 1.0103
freqz(numz,denz);
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
50
100
150
200
Normalized Frequency ( rad/sample)
Phase (
degre
es)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-200
-100
0
100
Normalized Frequency ( rad/sample)
Magnitude (
dB
)