Sei sulla pagina 1di 26

Indice

Introduccin Filtro digital


I. II. III. IV. V. VI. VII. VIII. -Factores de implementacin -Ventajas de usar filtros digitales sobre los analogicos -Desventajas de los filtros digitales -Clasificaciones de filtros -Expresin general de un filtro -Filtros recursivos y filtros no recursivos (filtros FIR y filtros IIR) -Filtros digital FIR -Finite Impulse Response (Respuesta al Impulso Finita)-Filtro digital IIR- Infinite Impulse Response(Respuesta al impulso infinita)-

3 4 7 7 9 9 10 12 15 20 25 26

Conclusiones Bibliografa

INTRODUCCION
La finalidad de un filtro es procesar una seal presente a su entrada, de forma que la seal de salida presente unas caractersticas frecuenciales cambiadas conforme a ciertas especificaciones. Este objetivo de todo filtro es independiente de su realizacin, sea sta digital o analgica, y su comportamiento selectivo en frecuencias puede manifestarse en el mdulo de la seal de salida, en la fase, o en ambos. Hay dos tipos principales de filtros: analgico y digital. Son bastantes diferentes tanto en su aspecto fsico como en su modo de funcionamiento. Un filtro analgico emplea circuitos electrnicos con componentes discretos tales como resistencias, condensadores, amplificadores operacionales que sean requeridos para el filtrado deseado. Tales filtros son muy utilizados para reduccin de ruido, mejora de seales de vdeo, ecualizadores grficos y muchas otras reas. Hay tcnicas estndares bien asentadas para disear un filtro analgico con un requerimiento dado. En todas las diversas etapas la seal est siendo filtrada como un voltaje o corriente elctrica, es decir, se involucra una magnitud fsica y real directamente de la seal analgica. Un filtro digital es un algoritmo matemtico, expresable como una ecuacin en diferencias e implementado en hardware y/o en software, cuyo objetivo es el mismo que el de los filtros analgicos: ofrecer un procesado selectivo en frecuencias de la seal de entrada. Un filtro digital es un sistema que, dependiendo de las variaciones de las seales de entrada en el tiempo y amplitud, se realiza un procesamiento matemtico sobre dicha seal; generalmente mediante el uso de la Transformada rpida de Fourier; obtenindose en la salida el resultado del procesamiento matemtico o la seal de salida. Los filtros digitales tienen como entrada una seal analgica o digital y en su salida tienen otra seal analgica o digital, pudiendo haber cambiado en amplitud, frecuencia o fase dependiendo de las caractersticas del filtro digital. El filtrado digital es parte del procesado de seal digital. Se le da la denominacin de digital ms por su funcionamiento interno que por su dependencia del tipo de seal a filtrar, as podramos llamar filtro digital tanto a un filtro que realiza el procesado de seales digitales como a otro que lo haga de seales analgicas. Comnmente se usa para atenuar o amplificar algunas frecuencias, por ejemplo se puede implementar un sistema para controlar los tonos graves y agudos del audio del estreo del auto. El filtrado digital consiste en la realizacin interna de un procesado de datos de entrada. En general el proceso de filtrado consiste en el muestreo digital de la seal de entrada, el

procesamiento considerando el valor actual de entrada y considerando las entradas anteriores. El ltimo paso es la reconstruccin de la seal de salida. En general la mecnica del procesamiento es: 1. Tomar las muestras actuales y algunas muestras anteriores (que previamente haban sido almacenadas) para multiplicadas por unos coeficientes definidos. 2. Tambin se podra tomar valores de la salida en instantes pasados y multiplicarlos por otros coeficientes. 3. Finalmente todos los resultados de todas estas multiplicaciones son sumados, dando una salida para el instante actual. El procesamiento interno y la entrada del filtro sern digitales, por lo que puede ser necesario una conversin analgica-digital o digital-analgica para uso de filtros digitales con seales analgicas. Un tema muy importante es considerar las limitaciones del filtro de entrada debido a Teorema de muestreo de Nyquist-Shannon que en pocas palabras; si quiero procesar hasta una frecuencia de 10KHz, debo muestrear a por lo menos 20 KHz. Los filtros digitales se usan frecuentemente para tratamiento digital de la imagen o para tratamiento del sonido digital. Otro ejemplo comn de filtros digitales son los programas para retocar imgenes.

FILTRO DIGITAL
Se emplea en procesado de seales para eliminar partes no deseadas de la misma, tales como ruido o slo permitir el paso de un cierto rango de frecuencias, es decir, hacer un filtro divisor.
Figura 1. El siguiente diagrama ilustra esta idea bsica:

Figura. Interaccin fuente/filtro

Fuente

Filtro

Funcin de transferencia

Resultado

Un filtro digital emplea un procesador digital que efecta operaciones matemticas en valores muestreados de la seal. El procesador puede ser de propsito general, tal como cualquier ordenador personal, un chip DSP (Procesador Digital de Seales) especializado o una FPGA programable. La seal de entrada analgica debe ser muestreada y digitalizada usando un ADC (conversor analgico-digital). El resultado son nmeros binarios que representan los valores sucesivos muestreados. Estos son transferidos al procesador, el cual efecta operaciones matemticas en ellos. Las operaciones pueden ser desde filtros de promediado de la muestra actual con alguna de las anteriores hasta multiplicaciones por constantes de los valores de entrada o de instantes anteriores almacenados en memoria, para posteriormente sumar estos resultados de la multiplicacin y dar una salida. Es decir, operaciones propias de teora sistemas lineales: convoluciones en el dominio temporal (multiplicacin en el dominio de la frecuencia) con otras seales prefijadas que consisten en una cadena de coeficientes. Para disear estos filtros suele usarse un impulso y desplazarlo sucesivas veces multiplicado por alguna constante, es decir, usando la transformada z. Finalmente, si es necesario, los resultados de estos clculos, que estn representando valores muestreados de la seal filtrada, son enviados a travs de un DAC (conversor digital-analgico) para devolver la seal a una forma analgica. Por tanto, en un filtro

digital la seal est siempre representada por una secuencia de nmeros, en vez de un voltaje o una corriente.

Figura 2. El siguiente diagrama muestra el esquema bsico de uno de estos sistemas :

Figura. Respuesta al impulso

entrada
1.,0.,0., 0.,

salida filtro
.1,.6,.7,.4,-.3,-.1,

Gracias al avance de las computadoras modernas el tratamiento digital de seales se ha expandido y se ha hecho cada vez ms fuerte. Han contribuido con su velocidad al montaje de algoritmos de procesamiento para lograr entregar respuestas casi instantneas, siempre dentro de los lmites exigidos por el desarrollo en las diferentes aplicaciones en que han sido utilizadas. Las computadoras no slo han influido en el montaje de algoritmos, adems se han convertido en una herramienta fundamental para los diseadores, ya que gracias a stos se ha conseguido elaborar mejores y variados algoritmos para el diseo de filtros y herramientas de proceso. Una herramienta muy potente para el anlisis de imgenes es el MATHLAB. El diseo de filtros se ha apoyado en los dispositivos lgicos programables, los cuales han

jugado un papel muy importante en el montaje de los filtros digitales, puesto que gracias a ellos se ha logrado un adecuado funcionamiento en tiempo real. El FPGA es uno de estos dispositivos, que posee la cualidad de la re-configuracin, lo que permite realizar cambios en la arquitectura sin necesidad de producir variaciones en el montaje o en el software que se est operando. FACTORES DE IMPLEMENTACIN La implementacin de estos filtros est determinada por algunos factores que ayudan a la calificacin de dichos sistemas, tales como: 1. Complejidad computacional, requisitos de memoria y longitud de palabra. 2. La Complejidad computacional: est determinada por el nmero de operaciones aritmticas necesarias para el clculo de la salida, como sumas, multiplicaciones y divisiones. 3. Requisitos de memoria: hacen referencia a la cantidad de posiciones de memoria que son necesarias para almacenar elementos, tales como los coeficientes del sistema, entradas retrasadas, salidas retrasadas y algunos valores internos necesarios para el clculo de la salida. 4. Longitud de palabra: se refiere a un efecto de precisin que se encuentra dado por la cuantificacin, tanto de los coeficientes del filtro como de la seal de entrada. Este elemento se hace presente en filtros implementados en hardware y en software. Las operaciones realizadas deben ser redondeadas o truncadas para poder ajustarse a las restricciones de operacin del ordenador, en el caso del software, o a las caractersticas definidas por el diseador del hardware digital.
Programa

salida =k entrada- b1 old1-b2 old2;

old2=old1; old1= salida;

VENTAJAS DE USAR FILTROS DIGITALES SOBRE LOS ANALGICOS Tenemos principalmente las siguientes: 1. Un filtro digital es programable, es decir, su funcionamiento est terminado por un programa almacenado en la memoria contigua al procesador. Esto significa que puede ser variado fcilmente sin afectar al hardware, mientras que la nica manera de variar un filtro analgico es alterando el circuito.

2. Los filtros digitales pueden ser fcilmente diseados, probados e implementados en un ordenador. Los analgicos pueden ser simulados, pero siempre hay que implementarlos a travs de componentes discretos para ver su funcionamiento real. 3. Las caractersticas de los filtros analgicos, particularmente los que contienen componentes activos, estn sujetos a alteraciones y dependen de la temperatura. Los filtros digitales no sufren estos problemas y son extremadamente estables ante factores externos. 4. A diferencia de los filtros analgicos, los digitales pueden manejar con mucha precisin las bajas frecuencias. Como la tecnologa de los DSP va mejorando, el aumento de su velocidad permite que tambin sean aplicados en el campo de la radio frecuencia (muy altas frecuencias), la cual en el pasado era exclusivamente dominio de la tecnologa analgica. 5. Los filtros digitales son mucho ms verstiles a la hora de manipular la seal, que pueden llegar a variarla y tratarla radicalmente cambiando sus caractersticas. 6. Los procesadores DSP ms rpidos pueden manejar combinaciones complejas de filtros en paralelo o en serie (en casada), haciendo los requerimientos de hardware relativamente simples y compactos en comparacin con la circuitera analgica equivalente. 7. La gran ventaja de los filtros digitales sobre los analgicos es que presentan una gran estabilidad de funcionamiento en el tiempo. Los filtros digitales, por su tecnologa, presentan ventajas tecnolgicas respecto a los analgicos. Otras de estas ventajas son su pequeo tamao gracias a tecnologas VLSI; su menor coste para filtros de orden elevado; la repetibilidad de resultados (menor tolerancia a valores de los componentes); su versatilidad para efectuar diversos tipos de filtrado sin tener que modificar el hardware, o su capacidad para operar con seales de muy baja frecuencia sin necesidad de voluminosos condensadores ni de compensar derivas de tensiones o corrientes en dispositivos activos, como ocurre con los filtros analgicos. Esta ltima ventaja es la que los hace idneos en muchas aplicaciones, como es el campo de la electromedicina, donde las frecuencias a procesar suelen ser muy bajas. Pero, aparte de estas ventajas tecnolgicas, con el filtrado digital se pueden conseguir filtros de fase lineal, imposibles con filtrado analgico (la fase lineal, propia de los filtros FIR, slo es aproximable en una limitada banda frecuencial en el caso analgico), y se pueden efectuar filtrados no lineales, predicciones del comportamiento de seales u optimizaciones del comportamiento del filtro segn determinados criterios que el propio algoritmo puede ir supervisando. Por ello, son muy atractivos en aplicaciones de procesado de voz y de imagen, de control y de comunicaciones. Al ser digital, ya se pueden intuir algunas de sus ventajas, como por ejemplo la capacidad de memorizacin o de ejecucin de decisiones basadas en reglas lgicas, segn valores observados en las seales de entrada o de salida. Y, a partir de aqu, la imaginacin nos

apunta muchas ventajas del filtrado digital: filtros con auto-aprendizaje basado en la memorizacin de resultados previos, ajuste automtico de las especificaciones del filtro, listados y estadsticas de resultados, etc. DESVENTAJAS DE LOS FILTROS DIGITALES Exponiendo algunas ventajas del filtrado digital, ello no debe llevar a concluir que es siempre "mejor" que el analgico. El concepto "mejor" es muy relativo, pues depende de la infraestructura para el desarrollo, del coste y de las prestaciones exigibles al filtro. Aparte de las ventajas de los filtros analgicos en el procesado de potencia y de seales de muy alta frecuencia, los filtros digitales pueden presentar problemas (ciertamente reducibles utilizando tecnologas adecuadas) debidos a efectos de la aritmtica finita (longitud finita de las palabras digitales en los procesadores y en las memorias), que producen un cierto tipo de ruido a la salida del filtro, o incluso inestabilidades si el nmero de bits con que se opera obliga a truncamientos o redondeos inaceptables de los resultados. Tambin aspectos ms internos de los sistemas basados en microprocesadores o DSP, como posibilidades de saltos de los contadores de programa frente a interferencias elctricas en los buses de datos o de direcciones, y que pueden alterar la ejecucin correcta de las subrutinas, son problemas potenciales de los filtros digitales. Los riesgos que se acaban de exponer de los filtros digitales son superables utilizando tecnologas adecuadas, lo que supone disponer de los oportunos presupuestos. Adems, hay otro aspecto relevante para el presupuesto: el tiempo de diseo y desarrollo de un filtro digital es algo ms largo que el de un filtro analgico, aspecto que los hace desaconsejables para filtrados sencillos (excepto si se aprovecha una infraestructura digital ya existente para programar la ecuacin en diferencias del filtro). Como en todo trabajo de ingeniera, es el diseador quien, a la vista del presupuesto, del material de laboratorio disponible para el desarrollo y de la complejidad del problema, ha de decidir qu solucin tomar, en funcin de la complejidad del filtro, los niveles de potencia y los anchos de banda. CLASIFICACIONES DE FILTROS Hay varias clasificaciones as como distintos tipos de filtros: De acuerdo con la parte del espectro que dejan pasar y que atenan hay: Filtros pasa alta. Filtros pasa baja. Filtros pasa banda. Banda eliminada.

Multibanda. Pasa todo. Resonador. Oscilador. Filtro peine (Comb filter). Filtro ranura o filtro rechaza banda (Notch filter). De acuerdo con su orden: primer orden segundo orden De acuerdo con el tipo de respuesta ante entrada unitaria: FIR (Finite Impulse Response-Respuesta al Impulso Finita-) ( filtros no-recursivos) IIR (Infinite Impulse Response - Respuesta al Impulso Infinita-) (filtros recursivos) TIIR (Truncated Infinite Impulse Response) De acuerdo con la estructura con que se implementa: Laticce Varios en cascada Varios en paralelo EXPRESIN GENERAL DE UN FILTRO Hay muchas formas de representar un filtro. Por ejemplo, en funcin de w (frecuencia digital), en funcin de z y en funcin de n (nmero de muestra). Todas son equivalentes, pero a la hora de trabajar a veces conviene ms una u otra. Como regla general se suele dejar el trmino a0=1. Si se expresa en funcin de z y en forma de fraccin: Y en dominio de n: ( ) ( )
( ) (

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

10

Ejemplo del diseo de un filtro En primer lugar se parte de las especificaciones y, basndose 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, adems se quiere fase lineal. Con estas especificaciones se elige un filtro FIR. El diseo se puede hacer manualmente o con la ayuda de una computadora. En este ejemplo el mtodo de diseo ser el de Remez. En Matlab se obtienen los coeficientes que definen el filtro, que en la ecuacin anterior se llaman a y b (el numerador es la variable b y el denominador solo tiene un trmino 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 seal que se quiere filtrar y en la parte inferior la seal filtrada (se trata de un electrocardiograma).

Figura 3.

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 seal o una FPGA, aunque tambin puede ser un programa de computadora. Finalmente se usan los coeficientes obtenidos y la estructura elegida para crear el programa.

11

FILTROS RECURSIVOS Y NO RECURSIVOS (FILTROS FIR Y FILTROS IIR) Existen dos tipos bsicos de filtros digitales: 1- no recursivos 2 - recursivos.
Filtros de primer orden Notacin grfica:
Flujo de seal

No recursivo Feed forward notches FIR

multiplicador adicin delay unitario entrada

Recursivo Feed back peaks IIR

salida delay de m muestras

Caractersticas espectrales:

Tipo de filtro : Anlogo acstico :

recursivo (polos) energa acumulada resonancia

no recursivo (ceros) energa cancelada anti-resonancia

recursivo

no recursivo

12

Filtros de segundo orden

2-ceros

no recursivo

2-polos

recursivo
Para filtros de mayor orden se construyen mediante combinaciones de filtros de primer y segundo orden

paralelo

ecualizador paramtrico

serie Filtro Biquad

filtros formantes

Combinacin IIR/FIR

Para los filtros no recursivos la funcin de transferencia contiene un nmero finito de elementos, cuya ecuacin en diferencias es:
( )

13

Y su equivalente en funcin de transferencia es:


( )

Esta clase de sistemas se caracteriza por no poseer realimentaciones, de lo cual se observa que la salida se encuentra dada en funcin de la entrada y de sus respectivos retrasos. Para los filtros recursivos la ecuacin en diferencias se encuentra expresada en funcin de dos formas polinomiales:
( ) ( ) ( )

Esta ecuacin nos lleva a encontrar una funcin de transferencia de la forma:


( )

Donde la salida se encuentra dada en funcin de la entrada y de las salidas en instantes previos. Un filtro no-recursivo es aquel cuya salida est calculada exclusivamente a partir de valores de entrada (Yn = Xn + Xn-1 + Xn-2...), mientras que uno recursivo es aquel que adems de los valores de entrada emplea valores previos de salida (Yn-1, Yn-2...), los cuales se almacenan en la memoria del procesador. La palabra recursivo significa literalmente "volver hacia atrs" y se refiere al hecho de que valores de salida previamente calculados vuelven de nuevo para calcular los nuevos valores de salida. Explicndolo as, puede parecer que los filtros recursivos requieren ms clculos para ser ejecutados. Pero la realidad es que un filtro recursivo generalmente requiere mucho menos coeficientes para que evale e procesador, es decir, que es de menor orden y es ms corto, que un filtro no-recursivo que persiga una caracterstica en frecuencia dada. Hay quien prefiere una terminologa alternativa, por lo que los filtros no-recursivos se conocen como filtro FIR (Respuesta al Impulso Finita) y los recursivos como filtros IIR (Respuesta al Impulso Infinita). Estos trminos se refieren a las diferentes respuestas al impulso de ambos tipos de filtros. La respuesta al impulso de un filtro digital es la secuencia de salida cuando se aplica un impulso unidad a su entrada (un impulso unidad es muy simple, tan slo una secuencia consistente en un valor 1 en el instante de tiempo t=0, seguido de ceros para todas las muestras siguientes, lo que se llama tambin una Delta de Kronecker.

14

Un filtro FIR es uno cuya respuesta es de una duracin finita. Uno IIR es aquel cuya respuesta al impulso tericamente continua para siempre debido a la recursividad con valores previos de salida que constantemente estn siendo devueltos a la entrada. Pero realmente el trmino IIR no es muy afortunado dado que casi todos los filtros IIR reducen virtualmente su salida a cero a un tiempo dado, de hecho, antes que los FIR. De todas formas ambos acrnimos son muy coloquiales y de uso frecuente. El proceso de diseo de un filtro digital requiere tres pasos 1.Establecer las especificaciones del filtro para unas determinadas prestaciones. Estas especificaciones son las mismas que las requeridas por un filtro analgico : frecuencias de parabanda y pasabanda, atenuaciones, ganancia dc, etc. 2.Determinar la funcin de transferencia que cumpla las especificaciones. 3.Realizar la funcin de transferencia en hardware o software. IIR o FIR? -Los filtros IIR producen en general distorsin de fase, es decir la fase no es lineal con la frecuencia. -Los filtros FIR son de fase lineal. -El orden de un filtro IIR es mucho menor que el de un filtro FIR para una misma aplicacin. -Los filtros FIR son siempre estables. FILTRO DIGITAL FIR- FINITE IMPULSE RESPONSE (RESPUESTA AL IMPULSO FINITA) Es un tipo de filtro digital que si su entrada es un impulso (una delta de Kronecker) la salida ser un nmero limitado de trminos no nulos. Para obtener la salida slo se emplean valores de la entrada actual y anteriores. Tambin se llaman filtros digitales no-recursivos. Su expresin en el dominio discreto es:

El orden del filtro est dado por N, es decir, el nmero de coeficientes y que tambin coincide con el nmero de trminos no nulos. Tambin la salida puede ser expresada como la convolucin de una seal de entrada x[n] con un filtro h[n]:

15

Figura 4. La estructura de un filtro FIR por tanto es la siguiente:

La cual puede verse reflejada en la aplicacin de la transformada Z:


( )
( )

Se puede ver que es la misma entrada retardada cada vez ms en el tiempo, multiplicada por diversos coeficientes y finalmente sumada al final. Si tenemos una respuesta de frecuencia como objetivo, conseguiremos que la respuesta del filtro se asemeje ms a ella cuanto ms largo sea o nmero de coeficientes tenga. En la figura 4 los trminos son los coeficientes y los T son retardos. Pueden hacerse multitud de variaciones de esta estructura. Hacerlo como varios filtros en serie, en cascada,etc. Hay tres mtodos bsicos para disear este tipo de filtros: - Mtodo de las ventanas. Las ms habituales son: o Ventana rectangular o Ventana de Barlett o Ventana de Hanning o Ventana de Hamming o Ventana de Blackman o Ventana de Kaiser - Muestreo en frecuencia. - Rizado constante Los filtros FIR son estables puesto que slo tienen polos, es decir, elementos en el numerador en su funcin de transferencia. Tambin tienen la ventaja que pueden disearse

16

para ser de fase lineal, es decir, no introducen desfases en la seal, a diferencia de los IIR o los filtros analgicos. Por ese motivo tienen inters en audio. Sin embargo, tienen el inconveniente de ser ms largos al tener ms coeficientes que los filtros IIR capaces de cumplir similares caractersticas. Esto requiere un mayor tiempo de clculo que puede dar problemas en aplicaciones en tiempo real, como estudios de grabacin o conciertos en directo. Implementacin en el FPGA Se cre una herramienta en hardware como filtro tipo FIR, esta fue probada en una tarjeta XILINX SPARTAN 3E. El kit de desarrollo se muestra en la figura 3.

Fig. 5. Kit de desarrollo XILINX SPARTAN 3E

La entidad fue definida de la siguiente forma:


ENTITY FIR IS GENERIC (N : natural := 16 ); PORT ( SIGNAL CLK : IN std_logic; SIGNAL RES_n : IN std_logic; SIGNAL X : IN std_logic_vector( N-1 DOWNTO 0 ); SIGNAL Y : OUT std_logic_vector( N-1 DOWNTO 0 ) ); END ENTITY FIR ;

Como es posible observar se mantiene la seal de reloj CLK como entrada, dos valores de ingreso donde X es dato de 2 bits y RES_n es un reset activado por pulso. La salida se encuentra definida por un valor de dato de 2 bits. Tal como se muestra en la figura 6.

17

Fig. 5. Entidad de un filtro Fir en FPGA XILINX

La arquitectura se define de la siguiente manera:


ARCHITECTURE RTL OF FIR IS TYPE t_operacion IS ARRAY (7 DOWNTO 1) OF std_logic_vector(N-1 DOWNTO 0); SIGNAL operacion : t_operacion; SIGNAL add_01 : std_logic_vector(N DOWNTO 0); SIGNAL add_23 : std_logic_vector(N DOWNTO 0); SIGNAL add_45 : std_logic_vector(N DOWNTO 0); SIGNAL add_67 : std_logic_vector(N DOWNTO 0); SIGNAL add_0123 : std_logic_vector(N+1 DOWNTO 0); SIGNAL add_4567 : std_logic_vector(N+1 DOWNTO 0); SIGNAL add_all : std_logic_vector(N+2 DOWNTO 0); SIGNAL vystup : std_logic_vector(N+2 DOWNTO 0); SIGNAL pom : std_logic_vector(N+2 DOWNTO 0); SIGNAL pipe_0123 : std_logic_vector(N+1 DOWNTO 0); SIGNAL pipe_4567: std_logic_vector(N+1 DOWNTO 0); BEGIN

Como es posible observar las seales de operacin son diversas, la idea principal es mostrar el manejo del pipeline, el circuito presentar el esquema de la figura 6.

Fig. 6. Esquema RTL

El pipeline caracterstico se codifico de la siguiente manera: Si es presionado el reset RES_n el pipeline inicia su operacin, si existe el evento del reloj y es un pulso positivo, entonces realiza las operaciones retardas y secuenciales.
pipeline: PROCESS (CLK, RES_n) BEGIN IF RES_n='0' THEN pipe_0123 <= (OTHERS => '0'); pipe_4567 <= (OTHERS => '0'); ELSIF CLK='1' AND CLK'EVENT THEN pipe_0123 <= add_0123; pipe_4567 <= add_4567; END IF; END PROCESS pipeline;

Las siguientes instrucciones muestran el bloque de cada procedimiento u operacin del pipeline, cabe resaltar el manejo de los ndices en el filtro.
add_01 <= (X(N-1) & X) + (operacion(1)(N-1) & operacion(1)); add_23 <= (operacion(2)(N-1) & operacion(2)) + (operacion(3)(N-1) &

18

operacion(3)); add_45 <= (operacion(4)(N-1) & operacion(4)) + (operacion(5)(N-1) & operacion(5)); add_67 <= (operacion(6)(N-1) & operacion(6)) + (operacion(7)(N-1) & operacion(7)); add_0123 <= (add_01(N) & add_01) + (add_23(N) & add_23); add_4567 <= (add_45(N) & add_45) + (add_67(N) & add_67); add_all <= (pipe_0123(N+1) & pipe_0123) + (pipe_4567(N+1) & pipe_4567); pom(3 DOWNTO 0) <= "0100"; pom(N+2 DOWNTO 4) <= (OTHERS => '0'); vystup <= add_all WHEN add_all(3 DOWNTO 0) = "0100" else add_all + pom;

Pruebas y resultados.- Se cre una herramienta de software que se encarga de brindar una conexin sencilla y amable entre el usuario del filtro y el hardware. La interfase se encuentra desarrollada sobre Matlab 6.0 y al inicio presenta 3 posibilidades de filtros tipo FIR para escoger con cul se desea trabajar: Filtro con coeficientes estticos. Filtro con coeficientes dinmicos. Filtro adaptativo. Para efectos de este artculo slo se trabaja con la opcin de filtro con coeficientes dinmicos. Esta seccin escogida presenta dos bloques principales as: Diseo del filtro: esta es la primera seccin, le permite al usuario manejar las especificaciones del filtro tales como: Cantidad de coeficientes. Ancho de banda. Atenuacin y ganancia del filtro para diferentes frecuencias, como se muestra en la figura 7. Una vez que se han escogido los diferentes parmetros del filtro, tanto para su arquitectura como para su funcionamiento, se procede a disear dicho filtro. Proceso que se lleva a cabo mediante la utilizacin del algoritmo FIR. La verificacin e implementacin: se realizan una vez que se han determinado las especificaciones del filtro y se ha diseado. Se observa una nueva ventana (figura 7), la cual muestra la respuesta en frecuencia del filtro. En esta ventana se presentan tres respuestas espectrales diferentes as: La deseada por el usuario. La lograda por el algoritmo La obtenida luego de redondear los valores de los coeficientes a los valores permitidos por la resolucin de 8 bits.

19

Fig. 7. Muestra de la interfase para el diseo de los filtros.

Fig. 8. Ventana de verificacin e implementacin del filtro

Conclusiones El diseo se realiz en forma jerrquica, de tal manera que se dividi en diferentes etapas. Antes de iniciar el estudio de cada una de estas entidades deber de ser necesario tener en cuenta algunos aspectos del funcionamiento que presenta este diseo: El ancho de palabra es de 8 bits, lo que obliga a las memorias, al sumador y al acumulador a trabajar con esta especificacin. Debido a que el ancho de palabra es de 8 bits, se toma como mnimo intervalo 1/128, de tal forma que el formato vara desde 0.996 hasta 1. De esta forma se logra reducir el problema de truncamiento que se experimenta cuando se trabaja con nmeros de formato entero. Para el reloj del sistema se utiliz el oscilador interno del FPGA, que es de 50 Mhz, al que se le acondiciona un contador para poder dividir la frecuencia y as obtener diferentes posibilidades en el ancho de banda del filtro, como: 77.8 KHz, 39Khz, 19.5 KHz, 9.7 KHz, 4.8 KHz, 1.2Hhz, 600Hz y 150Hz. Estas frecuencias son seleccionadas por el usuario desde el exterior de la arquitectura. La arquitectura presenta una etapa que se encarga de comunicarse con el software y, de esta forma, mediante una interfase de puerto paralelo a la PC. FILTRO DIGITAL IIR- INFINITE IMPULSE RESPONSE (RESPUESTA AL IMPULSO INFINITA) Es un tipo de filtro digital que si su entrada es un impulso (una delta de Kronecker) la salida ser un nmero ilimitado de trminos no nulos, es decir, que nunca volver a un estado de reposo. Para obtener la salida se emplean valores de la entrada actual y anteriores y, adems, valores de salida anteriores que son almacenados en memoria y realimentados a la entrada. Tambin se llaman filtros digitales recursivos. Su expresin en el dominio discreto es:

20

[ ]

El orden del filtro est dado por el mximo entre P y Q. Una de las posibles estructuras para un filtro IIR es la siguiente:

Se puede ver cmo la salida y(k) es introducida de nuevo en el sistema. La transformada Z del mismo es: ( ) Vemos que ahora tenemos un denominador, es decir, ceros adems de polos, que son los causantes de las posibles inestabilidades que pueden comprometer la estabilidad y causalidad del sistema. Las ventajas de los filtros IIR respecto a los FIR es que pueden conseguir una misma respuesta empleando un nmero de coeficientes en el filtro mucho menor, requiriendo un menor tiempo de clculo. El inconveniente es, adems de la inestabilidad ya comentada, la introduccin de desfases en la seal, que pueden ser compensados pero a costa de aadir ms coeficientes al filtro. En el caso de los filtros con respuesta al impulso de longitud infinita, la expresin de la funcin de transferencia en el dominio Z es en forma de cociente de polinomios. Por eso, la forma de obtener en general la salida en este tipo de filtros es mediante frmulas recursivas. Una de las particularidades de estos filtros respecto a los tipo FIR es el hecho de que su comportamiento respecto a la fase es peor. Adems, estos filtros proceden directamente de la aplicacin de mtodos que tradicionalmente se han aplicado en el desarrollo de filtros analgicos tales como eran las aproximaciones de Butterword, Chebyshev o Elptica. Veremos que la implementacin de mayor coste computacional requerira es la Butterword mientras que la que menos (menor orden) es la elptica. Por su parte, tanto la implementacin chebyshev directa como inversa son del mismo orden y,

21

por tanto, de igual complejidad computacional. Esto implica que para unas restricciones dadas el orden (en definitiva, el coste computacional de nuestro sistema) ser mayor con la aproximacin Butterword y menor con la elptica. Como ya hemos mencionado, la aproximacin elptica es, entre todas, la que requiere menor orden, por lo que es comnmente utilizada cuando el principal inters se centra en minimizar el orden del filtro; sin embargo, veremos que su fase es la que ms se aleja del comportamiento lineal. La aproximacin inversa de Chebychev proporciona filtros con menor distorsin de fase que la aproximacin elptica a costa de aumentar ligeramente el orden. La aproximacin de Chebychev precisa igual orden que la inversa de Chebychev, pero su fase se comporta considerablemente peor.

Mtodo de diseo. La mayora de los filtros IIR son diseados usando el modelo de un filtro analgico, entre los cuales tenemos a los tipo Butterworth, Chebyshev, Cauer(elptico) y Chebyshev Inverso Los ejemplos solo sern del tipo Butterworth. Una forma es usando la transformacin Bilineal usada para convertir la respuesta en frecuencia analgica a una respuesta en el dominio digital. Donde para pasar del plano s --> a Z tenemos Los filtros Bsicos IIR estn basados en una estructura cuadrtica con elementos de retraso denotados como el cual se encuentra en la funcin de transferencia de forma general denotada como: ( ) Y su estructura Bicadratica a manera de bloques es ...1

Para el diseo de filtros de ms alto orden se disean mediante etapas bi-cuadrticas en cascada, donde cada una da una respuesta de segundo orden. Por ejemplo si se requiere disear un filtro de orden 4 se usaran dos etapas bi-cuadrticas en serie.

22

Si se quisiera disear un filtro pasabajos de orden impar este requerira de una o ms etapas de segundo orden , seguidas por la etapa de orden 1. Donde la etapa de primer orden es simplemente un retraso con un coeficiente de retroalimentacin como el que se muestra a continuacin.

Donde la seccin de primer orden es lo mismo que las secciones bi-cuadrticas con coeficientes A1,A2 y B2 Filtros Butterworth Predeformacin. Desafortunadamente la transformacin bilineal es una aproximacin que no produce exactamente la respuesta en frecuencia requerida y se produce una distorsin por lo cual se modifica la transformacin bilineal antes de aplicar la transformacin a H(s). Esto lo podemos resumir en la siguiente tabla

Ejemplo. Diseo de un filtro Pasa-Bajos Disear un filtro IIR pasa-bajos de segundo orden con una banda de paso de 3.4 KHz y una frecuencia de muestreo de 8kHz. Por lo que para la funcin de transferencia analgica de un filtro butterworth de 2do orden est dado por

23

( )

La frecuencia de corte normalizada debido a la predeformacin est dada por. ( )

Y la nueva transformacin bilineal con la predeformacin viene dada por la siguiente ecuacin.
( )[ ]

Usando las formulas de la tabla anterior tenemos que [ ]

Y sustituyendo en la funcin de transferencia de segundo orden y reacomodando como en 1


( ) ( ) ( ) ( ) ( )

A0=0.7157374 A1=1.4314748 A2=0.7157374 B1= 1.3489677 B2= 0.05139818 Donde representa n- retrasos de tiempo

Por lo que la ecuacin en diferencias es:


[ ] [ ] [ ] [ ] [ ] [ ]

24

CONCLUSIONES
Este tipo de filtros son usados para remplazar un filtro analgico, procesan la seal en el dominio del tiempo, donde las seales analgicas primero deben de ser muestreadas y digitalizadas en intervalos discretos usando un convertidor analgico digital. Hay que tener precaucin debido a que la seal analgica es muestreada ocasionando el efecto de alaising, este ocurre cuando la seal analgica tiene un espectro de energa a frecuencias cercanas a media frecuencia de muestreo, ocasionando que sea imposible recobrar la seal original cuando se quiere convertir de vuelta a analgica. Para prevenir este efecto se debe filtrar la seal con una frecuenta mayor a la de filtrado. Hay dos tipos de filtros digitales : Filtros de respuesta al impulso finito (FIR) que son filtros no recursivos, y filtros de respuesta al impulso infinito( IIR) los cuales son recursivos debido a que parte de la seal de salida se usa para realimentar la entrada. Se dice que los filtros IIR son sensibles a los coeficientes del filtro usado para multiplicar factores, debido a que al truncar los coeficientes puede resultar en una realimentacin positiva causando oscilacin, aparte de tener una respuesta de fase no lineal. Podemos concluir que, cuando la fase juega un papel fundamental en el tratamiento de la seal (por ejemplo, en el caso de comunicaciones de datos) es mejor el uso de filtros FIR de mayor coste pero de fase lineal. Mientras que cuando la fase no toma gran importancia (por ejemplo, en aplicaciones de audio, donde el odo humano no es capaz de discernir pequeas variaciones de la fase) el empleo de filtros IIR, de menor coste, es el apropiado.

25

BIBLIOGRAFIA
Filtros digitales Rodrigo F. Cdiz, Ph.D. Basado en apuntes del Dr. Gary Kendall, Northwestern University http://musictechnology.northwestern.edu/~gary/classes.htm http://www.duiops.net/emailsc.htm http://www.earlevel.com/Digital%20Audio/PoleZero.html http://es.wikipedia.org/w/index.php?oldid=43594495 J. G., Proakis, Dimitris G. Manolakis. Tratamiento digital de seales. Prentice Hall, 1997. Captulo 8: Diseo de Filtros Digitales (Parte 1 ) 5 Curso-Tratamiento Digital de Seal Implementacin de Filtros Digitales Tipo FIR en FPGA Jess Antonio lvarez Cedillo, Klauss Michael Lindig Bos, Gustavo Martnez Romero

26

Potrebbero piacerti anche