Este documento describe las funciones de transferencia analógicas y digitales y cómo modelar filtros en Matlab. Explica que una función de transferencia define el comportamiento de un filtro y cómo graficar la magnitud y fase. También cubre el diseño de filtros digitales en Matlab usando tipos como Butterworth, Chebyshev y elípticos, con un ejemplo de diseño de un filtro Chebyshev pasa-altas de orden 6.
2. • Un filtro analógico está definido por una
función de transferencia H(s), donde s = jω.
• La forma general es:
n −1 n−2
A( s ) b0 s + b1s + b2 s + ... + bn
n
H (s) = = n −1 n−2
,
B( s ) a0 s + a1s + a2 s + ... + an
n
2
3. 0.5279
H1 ( s ) = 2 ,
s + 1.0275s + 0.5279
2
s
H 2 (s) = 2 ,
s + 0.1117 s + 0.0062
1.05s
H 3 (s) = 2 ,
s + 1.05s + 0.447
s + 2.2359
2
H 4 (s) = 2 .
s + 2.3511s + 2.2359
3
4. • Para determinar las características de los
sistemas que tienen las funciones de
transferencia, necesitamos graficar la
magnitud y la fase de dichas funciones. La
función freqs(B,A,w) calcula los valores de la
función compleja H(s).
• Pueden ser necesarios varios ensayos para
encontrar una gama de valores apropiada
para el vector de frecuencias. En lo gral.
comienza en 0 y alcanza a las frecuencias
criticas
• Veamos unos ejemplos de código 4
5. • La fase (núm. complejo) de un filtro se puede
calcular utilizado: angle(x).
• La función unwrap(X) elimina
discontinuidades en 2π de un vector X
5
7. • Un filtro digital esta definido por una función
H(z), donde z = eiωT.
• La gama de frecuencias apropiada es de 0 a la
frecuencia de Nyquist, que es π/T rps o de 1/
(2T) Hz. Si suponemos que z es una función de
frecuencia normalizada ωT entonces H(z)
tiene un intervalo de frecuencias de 0 a π.
7
8. n −1 n−2
A( z ) b0 z + b1 z + b2 z + ... + bn
n
H ( z) = = n −1 n−2
,
B ( z ) a0 z + a1 z + a2 z + ... + an
n
• Si el denominador de la función H(z) es 1, el
filtro es de respuesta de impulso finito (FIR).
De otro modo, el filtro es de respuesta de
impulso infinito (IIR).
• [H, wT] = freqz(B, A, n) ,
• n indica el número de puntos que queremos
evaluar H(z). Estos valores son equidistantes
en el intervalo de la frecuencia normalizada
[0, π]
8
9. • El retardo de grupo es una media del retardo
medio del filtro en función de la frecuencia, se
define como:
dθ (ω )
τ (ω ) = −
dω
• La función grpdelay(B,A,n) lo hace
9
10. Filtraje con Matlab
Yn = 0.04xn-1 + 0.17xn-2 + 0.25xn-3 + 0.17xn-4 + 0.04xn-5
Yn = 0.42xn - 0.42xn-2 + 0.44yn-1 - 0.16yn-2
Yn = 0.33xn+1 + 0.33xn + 0.33yn-1
Usamos la función filter(A, B, x), supone una
ecuación de diferencias estándar
N2 N3
yn = ∑ bk xn − k + ∑ ak yn −k ,
k =0 k =1
10
11. Diseño de filtros digitales
Matlab tiene 4 tipos de filtros digitales:
• Butterworth, tiene las bandas de paso y de
detención más planas de todos.
• Chebyshev Tipo I, tiene rizo de paso
• Chebyshev Tipo II, tiene rizo en la banda
• Elipticos, tienen rizo de banda de paso y
detención
• Para usarlo necesitamos frecuencia
normalizada tal que Nyquist es 1.
11
12. Ejemplo
• Deseamos diseñar un filtro Chebyshev II pasa-
altas de orden 6. Limitando el rizo de la banda
de paso a 0.1, o sea 20 dB. El filtro usa una
señal muestreada a 1KHz, por tanto la
frecuencia de Nyquist es de 500 Hz. El corte
será a 300 Hz, de modo que la frecuencia
normalizada es 300/500 = 0.6
• Veamos código
12