Diseño de un filtro FIR paso alto con ventana de Blackman en MATLAB

ElectrónicaActualizado el 2,35 KB

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.

Ponte a prueba

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ón

2. 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 filtro

4. 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 HTML

Preguntas 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

1. ¿Qué método se emplea para diseñar el filtro FIR paso alto en el documento?
2. ¿Cómo se obtiene la frecuencia de corte fc según el documento?
3. ¿Qué error de aproximación se elige para los cálculos?
4. ¿Qué ventana se aplica a la respuesta al impulso ideal?
5. ¿Cuál es la longitud de la ventana utilizada?
6. ¿Con qué se compara la respuesta en frecuencia del filtro para verificar su cumplimiento?

Preguntas generadas con IA a partir del documento: comprueba las respuestas con el texto.