Un filtro digital es un algoritmo matemático basado en … de Filtros.pdf · Además, la velocidad...

17

Transcript of Un filtro digital es un algoritmo matemático basado en … de Filtros.pdf · Además, la velocidad...

Un filtro digital es un algoritmo matemático basado en multiplicaciones y sumas, donde el término digital hace referencia al sistema que realiza las operaciones.

En la comparación con los filtros analógicos, podemos encontrar las siguientes ventajas:

• En algunos tipos de filtros digitales, la estabilidad está garantizada. • No hay problemas de adaptación de impedancias. • Algunos filtros consiguen una linealidad de fase excelente. • No precisan ajustes ni se degradan con el tiempo. • Varias señales de entrada o canales pueden ser filtradas sin necesidad de añadir máscircuitería.

• En la práctica, la precisión de los filtros analógicos está limitada. Por ejemplo, para• En la práctica, la precisión de los filtros analógicos está limitada. Por ejemplo, paraconseguir niveles de atenuación de 60 ó 70 dB en la banda eliminada debemos emplearfiltros activos especiales. En los filtros digitales la precisión viene limitada por la longitudde palabra que se utilice.• Son fácilmente reproducibles.• Se pueden emplear en la región de muy bajas frecuencias (útil en aplicacionesbiomédicas).

• Pueden modificar el rango de trabajo cambiando la frecuencia de muestreo.

Como desventajas cabe destacar las siguientes:• Limitación de velocidad: el ancho de banda de las señales con que pueden operar esmayor para filtros analógicos que para digitales. En situaciones de tiempo real vamos aencontrar limitaciones con los convertidores A/D restringiendo la frecuencia máxima demuestreo.Además, la velocidad del filtro digital va a depender de la velocidad del sistema digital deprocesamiento que se emplee y del número de operaciones aritméticas que aparezcan en elalgoritmo.• Efectos de la longitud de palabra finita: en el sistema digital aparecerán, entre otros,ruidos debidos a la cuantificación de la señal de entrada del convertidor A/D, y alredondeo/truncamiento ocurrido durante los cálculos. Cuantos más lazos recursivos haya,más se acumulan dichos ruidos, pudiendo llevar al sistema a la inestabilidad.

ETAPAS EN EL DISEÑO DE FILTROS DIGITALES El diseño de filtros consta de cinco etapas:1. Especificación de los requisitos de filtro.2. Cálculo de los coeficientes del filtro (aproximación).3. Representación del filtro empleando una estructura (realización).4. Análisis de los efectos de la longitud de palabra finita.5. Construcción del filtro empleando software y/o circuitería.

Representación del filtro empleando una estructura

La etapa de realización implica convertir la función de sistema en una estructuraaprovechable. Se emplean con frecuencia diagramas de bloques o flujogramas. La estructuraaprovechable. Se emplean con frecuencia diagramas de bloques o flujogramas. La estructurava a indicarnos el procedimiento computacional que hay que seguir para construir el filtrodigital y va a depender de si deseamos un sistema FIR o IIR.

Estructuras para sistemas IIR

Dada una función de un sistema discreto, se pueden obtener una gran variedad de

estructuras equivalentes. Se estudiarán algunas de las más empleadas.

Formas directas

Se obtienen como reflejo inmediato de las operaciones indicadas en la ecuación en diferencias.

Este diagrama de bloques puede modificarse sin que cambie la función de sistema, demanera que se obtenga otra estructura equivalente. Por ejemplo, se puede ver eldiagrama de la primera forma directa como la asociación en cascada de dos sistemas.

La estructura así obtenida, eliminando registros de memoria innecesarios, sedenomina forma Directa II y es canónica con respecto al número de registros dealmacenamiento, ya que es el menor posible. Por simplicidad se considera M=N.

Esta sección canónica es la más popular ya que presenta buenas propiedades conrespecto al ruido de redondeo y requiere un número mínimo de elementos de retardo. Elproblema estriba en que puede ocurrir desbordamiento ("overflow") en nodos internos deproblema estriba en que puede ocurrir desbordamiento ("overflow") en nodos internos dela red. Para evitarlo es necesario escalar la entrada con respecto a los nodos conflictivos.

Formas indirectas

Las formas directas no resultan útiles cuando el orden de la función a realizar es elevado, yaque su sensibilidad con respecto a la cuantificación de los coeficientes aumentaenormemente con el grado de la función. Para evitar este problema se suelen descomponerlas funciones del sistema como suma o producto de funciones de primer y segundo orden,las cuales podrán realizarse según algunas de las formas directas estudiadas.

Cascada

Se basa en descomponer la función del sistema en productos de funciones de primer y segundo orden. Esta descomposición no es única ya que, en primer lugar, se pueden emparejar los polos y los ceros de diversas maneras y, en segundo lugar, la conexión de los subsistemas se puede llevar a cabo de distintas formas.

1) Factorizamos los polinomios N(z) y D(z), agrupando las raíces conjugadas para que noaparezcan coeficientes complejos.

2) Expresamos H(z) como producto de funciones de segundo orden, donde N es el menor entero mayor o igual que N/2.

3) Se realizan las funciones H(z) en la forma directa II y se conectan en cascada como indica la figura.

Hay muchas formas diferentes de emparejar polos y ceros para formar cada una de las H(z).Teóricamente la función global es la misma, pero en la práctica (debido a la aritmética finita)existen grandes diferencias entre unas y otras. También aparecen distintas realizaciones

según el orden de conexión de las etapas.conexión deUn criterio de selección que reduce la sensibilidad es el siguiente:• Los polos más próximos a la circunferencia unidad deben emparejarse con los ceros quetienen más próximos en el plano Z.• Se debe repetir el punto anterior hasta que todos los polos y los ceros han sidoemparejados.• Las secciones de segundo orden resultantes deben ordenarse situándolas de manera quelos polos se vayan alejando de la circunferencia de radio uno, o en orden inverso.Esta forma de emparejar los polos y los ceros se basa en la experiencia de diversos autores.Los picos elevados de ganancia son indeseables, ya que pueden ocasionar saturación,amplificando además el ruido de cuantificación. Emparejar un polo próximo a lacircunferencia de radio unidad con el cero más cercano a él puede reducirconsiderablemente esos picos de ganancia.

Paralelo

La conexión en paralelo se basa en descomponer la función de partida H(z) en suma de funciones de primer y segundo orden, donde N=N1+2N2 es el grado del denominador y M es el grado del numerador, de manera que si N>=M , entonces N =M-N. En caso M es el grado del numerador, de manera que si N>=M , entonces Np =M-N. En caso contrario, el primer término de la sumatoria sería nulo.

El esquema general para una realización en paralelo consta de una sección FIR (quepuede no aparecer) y N secciones IIR de segundo orden conectadas en paralelo.

La realización en cascada es más robusta, siendo la paralela más rápida. Para sistemas IIR con los ceros de la función de sistema en IzI=1, la realización en cascada se puede llevar a cabo con menos multiplicadores y más control sobre la posición de los ceros.

Estructuras para sistemas FIR

Forma directa

Conexión en cascada

Elección entre las estructuras

a) Si se trata de un sistema IIR o FIR.

b) La facilidad de construcción. Se puede elegir las estructuras menos complejas porque sean b) La facilidad de construcción. Se puede elegir las estructuras menos complejas porque sean más rápidas, ocupen menor espacio o resulten más baratas.

c) Cómo de sensible es la estructura a los efectos de longitud finita de palabra, ya que enocasiones interesa más obtener estructuras que tengan un buen comportamiento frente a lalimitación de la longitud de palabra.

Las principales fuentes de degradación de la respuesta de un filtro son:a) Cuantificación de las señales de entrada y reconstrucción de las de salida.b) Cuantificación de los coeficientes del sistema.c) Errores aritméticos de redondeo y/o truncamiento.d) Errores de desbordamiento, los cuales ocurren al sumar o acumular resultados parciales en un registro de longitud limitada y cuando el resultado excede del valor máximo representable.

Efectos de Cuantización

•Cada una de estas formas tienen sus ventajas e inconvenientes en el momento derealizar el filtro. Uno de los problemas más importantes que debe tener en cuentauna realización son los efectos de cuantización.

•Los efectos de cuantización se producen al tener obligatoriamente que truncar (ocuantizar) los coeficientes del filtro y las señales de entrada y salida. Estacuantización puede dar lugar a que las características del filtro realizado difieran delas especificaciones del filtro diseñado.

•Los efectos de cuantización deben ser tenidos muy en cuenta cuando el diseño serealiza en microprocesadores con aritmética de punto fijo (por ejemplo, DSPs). Enrealiza en microprocesadores con aritmética de punto fijo (por ejemplo, DSPs). Encaso de utilizar micros de 32 bits con aritmética en punto flotante, los efectos decuantización pueden ser despreciados.

Dividiremos los efectos de cuantización en dos partes: los debidos a la cuantizaciónde las señales (de entrada x[n] o de salida y[n], que incluyen los errores de redondeoo truncamiento en las operaciones aritméticas) y los debidos a la cuantización de loscoeficientes.

Efectos de Cuantización de los Coeficientes

•Para sistemas de mayor orden es previsible que la sensibilidad de los coeficientes seaimportante, por lo que realizar filtros que contengan polos (filtros IIR) de forma directa(formas directa I o II) no es aconsejable. Los coeficientes en estas forman no nos dicennada acerca de la situación de sus polos y mucho menos acerca de las consecuencias desu cuantización.

•La solución es, lógicamente, utilizar las formas Paralelo o Cascada para tener un mayorcontrol sobre la situación de los polos al cuantizar.

•En el caso de filtros FIR (compuesto exclusivamente por ceros), sabemos que secaracterizan por ser de fase lineal. Esto es debido a que los coeficientes son simétricoscaracterizan por ser de fase lineal. Esto es debido a que los coeficientes son simétricos(o asimétricos). Por tanto cuantizar los coeficientes no va a variar la linealidad de fasedel filtro.

•Lo que si variará es la magnitud de la respuesta. Se puede demostrar que los ceros deun filtro FIR o bien están sobre la circunferencia de radio 1, o están en parejas conradios recíprocos. Por tanto, en los filtros FIR lo normal es utilizar la forma directa (I oII). También se podría utilizar la forma en cascada pero se utiliza menos.

Efectos de Cuantización

Ejemplos en MATLABDado el filtro digital IIR pasabanda con frecuencias de corte digitales son wp=[0.3 0.5] y las frecuencias en las que se especifica una atenuación de 55 dB son ws=[0.2 0.6]. La atenuación en la banda de paso = 1dB. Verifique el comportamiento de la respuesta el filtro y su ubicación depolos y ceros si se recortan los coeficientes a 3 decimales

[N wn]=buttord(wp,ws,65,1)

B =[0.0002 0 -0.0022 0 0.0109 0 -0.0328 0 0.0655 0 -0.0918 0 0.0918 0 -0.0655 0 0.0328 0 -0.0109 0 0.0022 0 -0.0002]

A =[ 1.0000 -4.3399 11.0598 -20.8034 32.4958 -43.5346 51.2002 -53.4433 50.1775 -42.5298 A =[ 1.0000 -4.3399 11.0598 -20.8034 32.4958 -43.5346 51.2002 -53.4433 50.1775 -42.5298 32.6821 -22.7629 14.3965 -8.2353 4.2516 -1.9649 0.8086 -0.2915 0.0909 -0.0237 0.0050 -0.0008 0.0001]

[H w]=freqz(B,A);plot(w,abs(H))

0 0.5 1 1.5 2 2.5 3 3.50

0.2

0.4

0.6

0.8

1

1.2

1.4

-1.5 -1 -0.5 0 0.5 1 1.5-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Pole-Zero Map

Real Axis

Imagin

ary

Ax

is

pzmap(B,A)

B1=round(B*1000)/1000;

A1=round(A*1000)/1000;

B1 =[ 0 0 -0.0020 0 0.0110 0 -0.0330 0 0.0660 0 -0.0920 0 0.0920 0 -0.0660 0 0.0330 0 -0.0110 0 0.0020 0 0]

A1 =[ 1.0000 -4.3400 11.0600 -20.8030 32.4960 -43.5350 51.2000 -53.4430 50.1770 -42.5300 32.6820-22.7630 14.3960 -8.2350 4.2520 -1.9650 0.8090 -0.2910 0.0910 -0.0240 0.0050 -0.0010 0]

[H1 w1]=freqz(B1,A1);

0.6

0.8

1

1.2

1.4

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Pole-Zero Map

Imagin

ary

Ax

is

plot(w1,abs(H1))pzmap(B1,A1)

0 0.5 1 1.5 2 2.5 3 3.50

0.2

0.4

-1.5 -1 -0.5 0 0.5 1 1.5-1

-0.8

-0.6

-0.4

Real Axis

0 0.5 1 1.5 2 2.5 3 3.50

0.2

0.4

0.6

0.8

1

1.2

1.4

En la figura , la respuesta para las funciones de Matlab round (rojo), floor (verde) y ceil(negro) aplicadas a los coeficientes originales.

[sos,G]=tf2sos(B3,A3,'UP','Inf');Ht=ones(512,1);for i=1:M,

Bsos=sos(i,1:3);Asos=sos(i,4:6);[H F]=freqz(Bsos,Asos);Ht=H.*Ht;

endplot(G*abs(Ht))

Analizar el comportamiento del filtro en la configuración cascada

plot(G*abs(Ht))

Funciones de Matlab relacionadas.

Descomposición en paralelo (Fracciones simples): [R,P,K] = residuez(B,A) [B,A] = residuez(R,P,K)

Descomposición en Cascada: [SOS,G] = zp2tf(Z,P,K)[SOS,G] = tf2sos(B,A) [Z,P,K] = sos2zp(SOS,G)[B,A] = sos2tf(SOS,G)