Filtrado en frecuencia

From glossaLAB

[gL.edu] Este artículo recoge contribuciones de J.M. Díaz Nafría, Covadonga Álvarez González, Daniel Gracia Garallar, elaboradas en el contexto de la Clarificación conceptual en "teoría de la señal y la comunicación", bajo la supervisión de J.M. Díaz Nafría.

Observaciones del Docente: Este artículo requiere las mejoras indicadas a continuación:
  • Matlab ofrece muchas funciones de filtrado que podrían referirse en una sección de código.

En general un filtro se concibe como un sistema caracterizado por la selección que realiza de las componentes disponibles a su entrada, de modo que solo permite el paso de las que cumplen ciertas condiciones. Normalmente estas condiciones tienen que ver con el hecho de que resultan de interés en los procesos informacionales en los que está involucrado el filtro. En el ámbito de la teoría de la señal y las comunicaciones un criterio de selección de primer orden es el de la frecuencia. Aquí nos vamos a referir exclusivamente a este tipo de filtros.

Definiciones

Atendiendo a las bandas de frecuencias que dejan pasar, los filtros en frecuencia se clasifican como[1]:

  • Los filtros pasa-bajo filtran las frecuencias superiores a una frecuencia de corte .
  • Los filtros pasa-alto filtran las frecuencias inferiores a la frecuencia de corte.
  • Los filtros paso-banda dejan pasar las señales comprendidas entre una frecuencia de corte inferior y una frecuencia de corte superior , atenuando el resto.
  • Los filtros banda-eliminada (o para-banda) permiten el paso de todas las frecuencias salvo una banda suprimida.
  • Los filtros paso-todo permiten todas las frecuencias sin atenuación, con un cambio de fase predecible para las diferentes frecuencias.

Como se discute en el artículo de banda de paso, esta se define como el rango de frecuencias que el filtro deja pasar sin ser significativamente atenuadas. Su complementario lo constituye la banda eliminada, o rango de frecuencias que el filtro atenua significativamente, y que podemos considerar como las frecuencias a las que el filtro corta el paso. Comunmente se emplea, para la definición tanto de las frecuencias de corte como del ancho de banda de los filtros, el que la potencia haya caído 3 dB respecto al nivel de referencia, o lo que es lo mismo, que la amplitud de la señal de salida sea respecto a la misma referencia.

Filtros analógicos, discretos, digitales

Los filtros en frecuencia pueden ser de carácter analógico, si opera con señales analógicas; discreto, cuando operan con muestras de la señal (no digitalizadas); o digital cuando o operan con muestras digitalizadas de la señal. A veces se confunden estos dos últimos tipos, porque el diseño de los filtros digitales se basan en el modelo discreto, y porque los filtros discretos puros han tenido una aplicación mucho más restringida y requieren de la utilización de dispositivos muy específicos que retengan las muestras (no cuantificadas) y permitan hacer las combinaciones pertinentes con las mismas[2]. Sin embargo, los filtros digitales, que operan en base al procesado (frecuentemente computerizado) de las muestras cuantificadas ofrecen una versatilidad tan amplia que hoy en día la mayor parte del filtrado se reduce a este tipo, salvo en aplicaciones en las que siguen siendo necesarios o de gran utilidad filtros de los otros tipos. De hecho, en todos los casos en los que se requieran hacer filtrados a señales contínuas (lo cual ocurre en algún punto de casi cualquier cadena completa de transmisión) es frecuente recurrir a los filtros digitales insertando antes y después una conversión analógico / digital que permita que el proceso de filtrado se reduzcan a operaciones computacionales. Un factor limitante para recurrir a este tipo de proceso es el de la velocidad tanto en la conversión a digital como en la del procesado requerido.

Se habla de filtros pasivos, cuando la operación de filtrado no supone ningún aporte de energía adicional a parte del de la propia señal de entrada; mientras que en los filtros activos el proceso de filtrado sí requiere un aporte adicional. Mientras que los filtros analógicos pueden ser de cualquiera de los dos tipos, los discretos y digitales son inherentemente activos, ya que la mera operación de adquisición de una muestra es activa, aunque la energía requerida sea mínima. Por otra parte, el procesado numérico es obviamente activo.

Función de transferencia y respuesta impulsional

La caracterización completa de un filtro en frecuencia vendrá dada por su función de transferencia, expresada en el dominio de Laplace, para los filtros analógicos, y en transformada z, para los filtros discretos. Dicha caracterización permite saber más cosas acerca de los filtros que solamente su selectividad en frecuencia, que por razones obvias es lo que principalmente importa desde el punto de vista del filtrado en frecuencia. No obstante, resulta de gran importancia para conocer otras cuestiones de interés como el comportamiento transitorio de los filtros, su estabilidad e incluso ofrecer un espacio de resolución de problemas para el logro de características objetivo. Si llamamos a la entrada e a la salida, la función de transferencia en continua será:

Y en tiempo discreto:

Donde y es la respuesta impulsional (o respuesta al impulso unitario) en tiempo continuo y discreto respectivamente, a partir de la cual, puede determinarse -en virtud del teorema de la convolución- la salida en el dominio del tiempo (ya sea continuo o discreto):

Filtros ideales y reales

Figura 1: Tipos de filtros en frecuencia de características ideales.

Aunque se establecen modelos teóricos de filtros (a menudo designados como filtros ideales) en los que se supone la eliminación total de uno o varios rangos de frecuencia (como se ilustra en la figura 1), en realidad (según puede concluirse a partir del teorema de Paley y Wiener[3]) un filtro realizable no puede atenuar completamente una banda de frecuencia, sino solamente un conjunto de frecuencias discretas. Lo mismo ocurre respecto a la posibilidad de no modificar en absoluto la amplitud de un rango continuo de frecuencias. De nuevo, esto solo es posible lograrlo para un conjunto finito de frecuencias. En cuanto a las transiciones, si bien los modelos teóricos establecen una transición abrupta entre la banda de paso y la banda eliminada, se sabe que eso implicaría en el tiempo una respuesta indefinida. En consecuencia, para el diseño de los filtros se establecen objetivos alcanzables de diseño:

  • maxima variación en la atenuación asumible dentro la banda de paso (rizado de la banda de paso),
  • mínima atenuación asumible dentro de la banda eliminada (rizado de la banda eliminada).
  • banda de transición definida como la diferencia entre las frecuencias de coste de la banda de paso y la de la banda eliminada

Filtros de fase lineal

Un aspecto no referido en la figura 1 y que constituye otro aspecto fundamental de los filtros ideales es el de la fase. Un filtro ideal no debe generar una diferencia en la disposición temporal de las componetes frecuenciales que constituyen las señales de interés (es decir dentro de la banda de paso) a la salida del filtro. De lo contrario se podría incurrir en una distorsión importante de la forma de las señales, lo que puede acarrear a una pérdida de información o de la calidad de la comunicación. Para evitar distorsión de fase es fácil probar, a partir de la propiedad de desplazamiento de la transformada de Fourier, que la fase del filtro debe ser líneal:

En estas condiciones el retardo de la señal a la salida del filtro, ,(donde representa la fase del filtro) es idéntico para todas las frecuencias y no se produce distorsión por ese motivo. En la práctica, el objetivo de lograr linealidad se circunscribe a la banda de paso. Varias técnicas de diseño de filtro van orientadas precisamente al logro de filtros de fase líneal.

Código

Figura 2: filtrado paso-bajo mediante convolución temporal (imagen animada). Ampliése la imagen para visualizar el efecto dinámico del filtrado.

El siguiente código genera la imagen animada representada en la Figura 2, donde se muestra un filtrado paso-bajo por convolución en el dominio del tiempo.

%% Filtrado por convolución
% Sabemos que un filtro de paso bajo ideal es un pulso
% rectangular, y que en el dominio de la frecuencia se aplica como
% un producto. También sabemos que la transformada de Fourier es dual,
% y que una multiplicación en un dominio, se corresponde a una convolución
% en el otro. Por ende, es inmediato deducir que podemos implementar un
% filtro paso-bajo como la convolución de una función 'sinc' en el dominio
% del tiempo.
% Este código genera una aproximación visual para este planteamiento.

% definimos un vector temporal, y 4 vectores adicionales
% que representarán 4 señales 'x'.
n = 120;
t = 0:n-1;
x = zeros(4, n);

% Definimos x(1,:) como un impulso sencillo (no rectangular aunque en 
% la representación aparente serlo).
% En la animación se observa cómo, para cualquier 't' dado,
% el valor resultante de la convolución de la senal 'x' con 'sinc'
% mantiene una relación lineal con su área de superposición.
x(1, 50) = 1;

% Definimos x(2,:) como una serie de impulsos de distancia decreciente.
% La anchura de la función 'sinc', en combinación con la naturaleza 
% aditiva de la operación convolución, limita la velocidad de cambio de 
% la señal filtrada y la incapacidad de recuperar el valor de reposo. 
x(2, 30) = 1; x(2, 35) = 1; x(2, 40) = 1;
x(2, 45) = 1; x(2, 50) = 1; x(2, 53) = 1;
x(2, 56) = 1; x(2, 59) = 1; x(2, 62) = 1;
x(2, 65) = 1; x(2, 67) = 1; x(2, 69) = 1;
x(2, 71) = 1; x(2, 73) = 1; x(2, 75:end) = 1;

% Definimos x(3,:) como una onda cuadrada de período superior a la
% función de filtro 'sinc'.
% La función 'sinc' está definida de -inf a +inf, de modo que una
% simulación numérica exacta no es viable. Si observamos la función
% 'sinc' rodante, podemos apreciar que está truncada.
% Este truncamiento implica que nuestra función 'sinc' imperfecta
% generará artefactos en los resultados de nuestros cálculos (aunque 
% imperceptibles). En x(3,:) se aprecian el fenómeno de Gibbs, según 
% el cual aparece un rizado en torno a las transiciones abruptas que 
% no desaparece aunque aumentemos la frecuencia de corte, o lo que 
% es lo mismo, reduzcamos la anchura de la sinc de nuestro filtrado.
x(3,mod(t,40)<20) = 1;
x(3,mod(t,40)>=20) = -1;

% Definimos x(4,:) como ruido Gaussiano.
% El ruido blanco contiene todas las frecuencias del espectro. Cuando
% aplicamos nuestro filtro convolución, podemos apreciar visualmente
% sobre la señal resultante que la componente de frecuencia más elevada
% tiene precisamente el período igual a la anchura de la función 'sinc'.
% Verificamos, entonces, que estamos limitando las frecuencias de la señal
% original, confirmando que la máxima componente se corresponde a un valor
% concreto: la anchura de nuestra 'sinc'.
x(4,:) = randn(1, n)/2;

s = sinc(linspace(-n/10, n/10, n+1));
for p = 1:4
    r(p,:) = conv(x(p,:), s)/5;
end

for i = 0:n-1
    clf;
    for p = 1:4
        subplot(4, 1, p);
        hold on;
        stairs(t+.5,x(p,:), 'k');
        plot(i-(n/2):i+(n/2), s, '--k');
        xlim([0 100]);
        ylim([-1.3 1.3]);
        plot(0:i, r(p, (n/2):(n/2)+i), 'k', lineWidth = 2)
        hold off;
    end
    exportgraphics(gcf,'filtro_conv.gif','Append',true);
end

Referencias

  1. Types of Filters (s.f.). En EEEGUIDE, Online Electrical and Electronics Study. Recuperado el 14 de marzo de 2021, de https://www.eeeguide.com/types-of-filters/
  2. Wanhammar, L. & Saramäki, T. (2020). Digital Filters Using MATLAB. Cham, Switzerland: Springer.
  3. Proakis, J.G., Manolakis, D.G. (2007). Tratamiento digital de señales. Madrid: Pearson Educación, pp. 585s.