Diseño de un filtro FIR paso alto con ventana de Blackman en MATLAB
Resumen
El documento muestra la implementación en MATLAB de un filtro digital FIR paso alto diseñado con el método de la ventana. Se definen las especificaciones de error en las bandas de paso y de atenuación, se calcula la frecuencia de corte y el orden del filtro, y se aplica una ventana de Blackman a la respuesta al impulso ideal. Al final se representa la respuesta en frecuencia junto con la plantilla de especificaciones para verificar el cumplimiento.
Puntos clave
- Un filtro FIR se diseña limitando la respuesta al impulso ideal mediante una ventana (enventanado).
- Se elige el error de aproximación más restrictivo, delta = min(atp, ata), y se expresa en dB como Emax = 20·log10(delta).
- La frecuencia de corte se calcula como el promedio de las frecuencias de paso y de atenuación: fc = (fp + fa)/2.
- La respuesta al impulso ideal de un paso alto se obtiene como h(n) = ((-1)^n)·((π - fc)/π)·sinc((π - fc)·n/π).
- El orden del filtro es M = ceil(6π/Δω) y la longitud de la ventana es L = 2M + 1.
- La ventana utilizada es la de Blackman, y el filtro final se obtiene multiplicando h por la ventana (hpf = h .* w').
- La verificación se realiza con freqz y comparando la respuesta con la plantilla de tolerancias.
Diseño de un filtro FIR paso alto mediante el método de la ventana
Este documento presenta la implementación en MATLAB para el diseño de un filtro digital FIR (Respuesta al Impulso Finito) de tipo paso alto, utilizando la técnica de enventanado.
1. Especificaciones del filtro
clear
atp = 0.0371; % Error de aproximación máximo en la banda de paso
ata = 0.0016; % Error de aproximación máximo en la banda de atenuación
fp = 1.9598; % Frecuencia mínima de la banda de paso
fa = 1.6909; % Frecuencia máxima de la banda de atenuación2. Cálculo de parámetros
- Selección del error: Se elige el error de aproximación más restrictivo.
- Frecuencia de corte: Se calcula como el promedio entre las frecuencias de paso y atenuación.
delta = min(atp, ata);
Emax = 20 * log10(delta); % Cálculo del error en unidades logarítmicas
fc = (fp + fa) / 2; % Frecuencia de corte del filtro
display(Emax);3. Implementación del filtro
Se calcula el orden del filtro M, se define el eje de tiempos y se obtiene la respuesta al impulso ideal. Posteriormente, se aplica la ventana de Blackman para limitar la respuesta.
M = ceil((6 * pi) / (1.9598 - 1.6906)); % Cálculo del valor M
n = -M:M; % Creación del eje de tiempos
h = (((-1).^n) .* (pi - fc) / pi) .* sinc(((pi - fc) .* n) / pi); % Respuesta al impulso del FPA ideal
L = 2 * M + 1; % Longitud de la ventana elegida (Blackman)
w = blackman(L); % Creación de la función ventana
hpf = h .* w'; % Operación de enventanado del filtro4. Visualización de resultados
Finalmente, se representa la respuesta en frecuencia del filtro junto con la plantilla de especificaciones para verificar el cumplimiento de los requisitos.
figure(1)
freqz(hpf, 1, 1024)
line([fa/pi pi], [20*log10(1+atp) 20*log10(1+atp)])
line([fp/pi pi], [20*log10(1-atp) 20*log10(1-atp)])
line([0 fa/pi], [20*log10(ata) 20*log10(ata)])
line([fa/pi fa/pi], [20*log10(ata) 20*log10(1+atp)])
line([fp/pi fp/pi], [-200 20*log10(1-atp)])
title('Respuesta en amplitud y fase de un filtro paso alto con ventana de Blackman')Descargar
PDF Word HTMLPreguntas frecuentes
¿Qué ventana se utiliza para diseñar el filtro?
Se utiliza la ventana de Blackman, generada en MATLAB con la función blackman(L), donde L = 2M + 1 es la longitud de la ventana.
¿Cómo se calcula la frecuencia de corte del filtro?
La frecuencia de corte se calcula como el promedio entre la frecuencia mínima de la banda de paso y la frecuencia máxima de la banda de atenuación: fc = (fp + fa) / 2.
¿Qué error de aproximación se toma como referencia?
Se elige el error de aproximación más restrictivo, es decir, el mínimo entre el error en la banda de paso (atp) y el error en la banda de atenuación (ata).
Ponte a prueba
Tarjetas de repaso
Pulsa una tarjeta para ver la respuesta.
Test
Preguntas generadas con IA a partir del documento: comprueba las respuestas con el texto.