Diseño de Filtros IIR con MATLAB
También podemos diseñar filtros digitales mediante métodos recursivos. Uno de estos métodos es el de Yule-Walker, que calcula los coeficientes del filtro de orden N utilizando mínimos cuadrados. Para ello debemos especificar la respuesta deseada para cada frecuencia. En MATLAB la función se denonima “yulewalk”:
>> [B,A]=yulewalk(N,F,M)
- N es el orden del filtro y F y M son dos vectores de igual longitud. F es la frecuencia normalizada con respecto a la frecuencia de Nyquist (0-1). Debe estar en orden creciente y el primer y último elemento del vector deben ser 0 y 1 respectivamente. M es el vector que especifica la maginitud de la respuesta para cada elemento de F.
Ejemplo: Diseñar un filtro digital pasobajo de orden 5 con frecuencia de corte fc=1.3 KHz, por el método de Yule-Walker. Calcular las atenuaciones a 1 KHz y 2 KHz.
- Primero hay que elegir una frecuencia de muestreo. Tomamos fs=5 KHz.
- >> [B,A]=yulewalk(5,[0 1 1.3 2 2.5]/2.5,[1 1 0.708 0 0])
- B = [0.3155 0.8087 0.7811 0.4675 0.3284 0.1492]
- A = [1.0000 0.6490 0.5046 0.5031 0.1355 0.0577]
- >> H = 20*log10(abs(freqz(B,A,[1000 2000],5000)))
- ans = -0.2422 -20.9538 % En decibelios