Filtro digital

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
FIR.PNG

Un filtro digital es un tipo de filtro que opera sobre señales discretas y cuantizadas, implementado con tecnología digital, bien como un circuito digital o como un programa informático.


Definición[editar]

Un filtro digital es un sistema que, dependiendo de las variaciones de las señales de entrada en el tiempo y amplitud, se realiza un procesamiento matemático sobre dicha señal; generalmente mediante el uso de la Transformada rápida de Fourier; obteniéndose en la salida el resultado del procesamiento matemático o la señal de salida.

Los filtros digitales tienen como entrada una señal analógica o digital y en su salida tienen otra señal analógica o digital, pudiendo haber cambiado en amplitud, frecuencia o fase dependiendo de las características del filtro digital.

El filtrado digital es parte del procesado de señal digital. Se le da la denominación de digital más por su funcionamiento interno que por su dependencia del tipo de señal a filtrar, así podríamos llamar filtro digital tanto a un filtro que realiza el procesado de señales digitales como a otro que lo haga de señales analógicas.

Comúnmente se usa para atenuar o amplificar algunas frecuencias. Por ejemplo, se puede implementar un sistema para controlar los tonos graves y agudos de cualquier sistema de audio.

El procesamiento interno y la entrada del filtro serán digitales, por lo que puede ser necesario una conversión analógica-digital o digital-analógica para uso de filtros digitales con señales analógicas.

Un tema muy importante es considerar las limitaciones del filtro de entrada debido a que la señal debe poder ser reconstruida, ver Teorema de muestreo de Nyquist-Shannon.

Tipos de filtros[editar]

Hay varios tipos de filtros así como distintas clasificaciones para estos filtros:

  • De acuerdo con la parte del espectro que dejan pasar y que atenúan hay:
  • De acuerdo con su orden:
    • primer orden
    • segundo orden
  • De acuerdo con el tipo de respuesta ante entrada unitaria:
    • FIR (Finite Impulse Response)
    • IIR (Infinite Impulse Response)
    • TIIR (Truncated Infinite Impulse Response)
  • De acuerdo con la estructura con que se implementa:
    • Laticce
    • Varios en cascada
    • Varios en paralelo

Expresión general de un filtro[editar]

Hay muchas formas de representar un filtro. Por ejemplo, en función de w (frecuencia digital), en función de z y en función de n (número de muestra). Todas son equivalentes, pero a la hora de trabajar a veces conviene más una u otra. Como regla general se suele dejar el término a0=1.

Si se expresa en función de z y en forma de fracción:


H(z)=\frac
{ 
   {\sum_{k=0}^M} b_k\cdot z^{-k} 
}{ 
   {\sum_{k=0}^N} a_k\cdot z^{-k}
}

Y en dominio de n:


y(n)= {\sum_{k=0}^N} b_k \cdot x(n-k) - {\sum_{k=1}^M} a_k \cdot y(n-k)

Los coeficientes son los a y b y son los que definen el filtro, por lo tanto el diseño consiste en calcularlos.

Ejemplo del diseño de un filtro[editar]

En primer lugar se parte de las especificaciones y, basándose en éstas, se elige el tipo de filtro. En este ejemplo se parte de un filtro digital que anule las frecuencias menores a 5Hz y la de 50Hz y que no altere al resto, la frecuencia de muestreo será 1000Hz, además se quiere fase lineal.

Con estas especificaciones se elige un filtro FIR. El diseño se puede hacer manualmente o con la ayuda de un ordenador. En este ejemplo el método de diseño será el de Remez. En Matlab se obtienen los coeficientes que definen el filtro, que en la ecuación anterior se llaman a y b (el numerador es la variable b y el denominador solo tiene un término que es 1, como corresponde a un filtro FIR):

[n,fo,mo,w]=remezord([0 5 45 50 50 55],[0 1 0 1],[0.01 0.1 0.01 0.1],1000); b = remez(n,fo,mo,w)

Nota: remezord en matlab está obsoleto, en su lugar se puede utilizar firpmord.

En la siguiente figura se muestra el aspecto del filtro en el centro. En la parte superior se muestra la señal que se quiere filtrar y en la parte inferior la señal filtrada (se trata de un electrocardiograma).

Matlab filtro.PNG

El siguiente paso es seleccionar la forma de implementarlo, es decir su estructura. Luego se elige el hardware sobre el que funcionará. Normalmente un Procesador digital de señal o una FPGA, aunque también puede ser un programa de ordenador. Finalmente se usan los coeficientes obtenidos y la estructura elegida para crear el programa.

Véase también[editar]

Referencias[editar]

Enlaces externos[editar]