Sei sulla pagina 1di 28

Filtros Adaptativos

La definicin de filtro adaptativo es un dispositivo que intenta modelar la relacin


entre seales en tiempo real de forma iterativa.
El trmino "FILTRADO ADAPTATIVO" implica que los parmetros que caracterizan al filtro,
tales como ancho de banda, frecuencias de los ceros cambian con el tiempo, esto es, los
coeficientes, tambin llamados PESOS, de los filtros adaptativos cambian con el tiempo, en
contraposicin a los coeficientes de los filtros fijos que son invariantes con el tiempo.
Se diferencia de los filtros digitales comunes tipo IIR o FIR, en que stos tienen coeficientes
invariantes en el tiempo, mientras que un adaptativo puede cambiar su forma de
comportarse, es decir pueden cambiar sus coeficientes de acuerdo con un algoritmo
adaptativo. De hecho no se saben los coeficientes del filtro cuando se disea, estos
coeficientes son calculados cuando el filtro se implementa y se reajustan automticamente
en cada iteracin mientras dura su fase de aprendizaje.
El hecho de que estos filtros no sean invariantes temporales y que tampoco sean lineales
hace que su estudio sea ms complejo que el de un filtro digital, ya que no se pueden
aplicar, salvo en un par de excepciones, las transformaciones en frecuencia, dominio Z, etc.

Implementacin de Filtros Adaptativos


Los filtros adaptativos normalmente se implementan en forma
de algoritmos sobre microprocesadores, DSP o FPGA.
La estructura de un filtro adaptativo es un sistema al que le llegan dos seales: x(n) y e(n),
esta ltima se llama seal de error y viene de la resta de una seal a la que se llama seal
deseada, d(n), y otra que es la salida del filtro y(n). A los coeficientes del filtro se les llama
w(n), que son los que multiplican a la entrada x(n) para obtener la salida.

En principio el objetivo es hacer que la seal de error sea cero, para ello el sistema debe
configurarse para que, a partir de la seal de entrada x(n) se genera la salida y(n) de forma
que sea igual a la seal deseada d(n). Cada una de las formas de minimizar ese error es un
mtodo de implementar los filtros adaptativos. Por ejemplo se podra proponer minimizar
la funcin de coste J= e 2 (n), aplicando la regla delta se obtendran los nuevos
coeficientes como:
Donde la constante se usa para ajustar la velocidad convergencia y evitar posibles
inestabilidades. Operando se llega a esta otra ecuacin:

Estructura de filtro adaptativo

Logaritmo que se implementan en los filtros adaptativos


Todos los sistemas avanzados de comunicaciones de voz, imagen y datos a alta velocidad
requieren del uso de sistemas de cancelacin de interferencias ms o menos sofisticados.
En esta lnea de trabajo se estudian y desarrollan algoritmos de adaptacin capaces de
gobernar eficientemente los coeficientes y parmetros de estos sistemas. Los requisitos
deseados incluyen alta velocidad de convergencia, estabilidad asegurada, buen
comportamiento en situaciones estticas y robustez. Con el fin de analizar cada uno de
estos algoritmos antes de construir o adquirir instrumentacin apropiada para el manejo
de seales reales, es necesario contar con una herramienta que permita simular, es decir
probar de manera virtual el comportamiento del algoritmo, modificando la frecuencia,
amplitud y otras caractersticas de la seal a la que se desea hacerle algn tratamiento
digital. Adems, deber ser posible ver los resultados obtenidos luego del tratamiento.
Entre los algoritmos adaptativos tenemos lo siguiente:

LMS (algoritmo mnimo cuadrado)

RLS (algoritmo mnimo cuadrado recursivo)

CMA (algoritmo de mdulo constante)

DMI (algoritmo de matriz inversa directa)

* Algoritmo mnimo cuadrado LMS


Se usa en filtros adaptativos para encontrar los coeficientes del filtro que permiten
obtener el valor esperado mnimo del cuadrado de la seal de error, definida como la
diferencia entre la seal deseada y la seal producida a la salida del filtro.
Pertenece a la familia de los algoritmos de gradiente estocstico, es decir, el filtro se
adapta en base al error en el instante actual nicamente. Fue inventado en 1960 por el
profesor de la Universidad de Stanford Bernard Widrow y su primer estudiante de
doctorado, Ted Hof.
Su importancia radica en que es un algoritmo muy simple. No requiere medidas de las
funciones de correlacin, ni tampoco inversin de la matriz de correlacin.
Un filtro es un proceso mediante el cual a una seal cualquiera se le modifica su contenido
espectral. El algoritmo LMS es un algoritmo de filtrado lineal adaptativo que, en general,
consiste de dos procesos bsicos:

Un proceso de filtrado, que involucra:

el cmputo de la salida de un filtro lineal en respuesta a una seal de


entrada, y

la generacin de una estimacin del error mediante la comparacin de esta


salida con la seal deseada.

Un proceso adaptativo, que involucra el ajuste automtico de los parmetros del


filtro de acuerdo al error estimado.
Cuando se habla de filtros adaptativos, est implcito que los parmetros que caracterizan
al filtro, tales como el ancho de banda y frecuencias de los ceros, entre otros, cambian con
el tiempo, esto es, los coeficientes de los filtros adaptativos cambian con el tiempo, en
contraposicin a los coeficientes de los filtros fijos que son, tericamente, invariantes con
el tiempo.
El algoritmo LMS, para un filtro de orden M , puede resumirse de la siguiente manera:

Parmetros:
M: orden del filtro
: tamao del paso
Si se dispone de informacin acerca del vector de coeficientes de filtro (n), usarla para
elegir un valor apropiado para (0). En caso contrario usar (0)=0.
Datos:

Seal de entrada en el instante n

d(n): Seal deseada a la salida del filtro

Calcular:

Estimacin del vector de coeficientes del filtro en el instante n+1

Cmputo:

Para n= 0, 1, 2, 3Calcular

Seal de error:

Adaptacin de los coeficientes del filtro:

El superndice T denota transposicin, el superndice H denota transpuesta conjugada, al


asterisco denota conjugacin y H ( n ) .u (n) es la salida del filtro, que se calcula como el
producto interno entre el vector de coeficientes de filtro (n), cuyos componentes suelen
llamarse pesos y el vector de datos de entrada al filtro u(n).
Comparacin de una seal sinusoidal de entrada con la seal de
referencia del sistema algoritmo LMS.
* Algoritmo mnimo cuadrado recursivo RLS
El algoritmo adaptativo mnimo cuadrado recursivo es una extensin del algoritmo mnimo
cuadrado, presenta varias ventajas como el disminuir el nmero de iteraciones para llegar
su convergencia, dems permite hacer operaciones matemticas ms compleja del
mnimo cuadrado, el algoritmo RLS utiliza el filtro de kalman para hallar su solucin, el
filtro de kalman est basado en la matriz de auto correlacin de datos y vector P. Las
frmulas ms importantes en el algoritmo RLS son:

Donde W(n) son los valores de los pesos que se generan por el algoritmo RLS, con estos
valores de pesos obtenemos el valor de y(n) a la salida de filtro, el valor del error est dado
por la siguiente ecuacin:

Principales frmulas utilizadas por el algoritmo RLS son lo siguiente:


Filtro de Kalman
Comparacin de una seal sinusoidal con la seal de referencia del
sistema algoritmo RLS

* Algoritmo de mdulo constante CMA


El algoritmo adaptativo de mdulo constante (CMA) es un algoritmo de igualacin ciega,
es decir que no requiere una seal de referencia, ya que estos generan su propia seal de
referencia desde las seales receptadas, esta es una ventaja que poseen sobre los
algoritmos lms y rls, aunque en ocasiones no se utilice esta propiedad del algoritmo cma,
ya que muchas veces se prefiere hacer un hbrido lms-cma o rls-cma para aprovechar las
caractersticas lineales que poseen los algoritmos lms y rls.

Las principales frmulas utilizadas por el algoritmo CMA son los siguientes:
Ecuacin de pesos CMA:

Donde R es una constante positiva que depende de las propiedades del sistema, valor de
u, nmero de elementos, etc. Esto lo en la siguiente ecuacin.

Donde el asterisco denota el valor conjugado de un escalar. El algoritmo CMA tiene su


mximo rendimiento cuando el orden del filtro es 2. Esto lo vemos en la ecuacin general
de los algoritmos cma es:

El algoritmo CMA proviene del algoritmo de SATO, desarrollado en 1974, siendo la nica
diferencia que el algoritmo de SATO es el orden 1, y el algoritmo CMA es de orden 2. En el
orden 2 es cuando el algoritmo CMA tiene su mximo rendimiento. El valor de Rp lo
obtenemos de los valores estimados de la seal de entrada evaluados para nmeros de
canal p de la siguiente ecuacin:

En la siguiente ecuacin veremos pesos para cualquier valor de p


Para valores complejos se utilizan Xn conjugada

El algoritmo CMA suele emplearse de dos maneras distintas una es para igualacin ciega y
la otra es para desconvolucin.

Comparacin de una seal sinusoidal con la seal de referencia del


sistema algoritmo CMA.
* Algoritmo de matriz inversa directa DMI
El algoritmo adaptativo de inversin de matriz directa (DMI) es un algoritmo de igualacin
no ciega de canal, tambin llamado algoritmo de matriz inversa, suele utilizarse como un
algoritmo de bsqueda, en medicina es utilizado en redes neuronales al igual que el
algoritmo CMA.

El algoritmo DMI tiene la caracterstica de que utiliza el filtro de Wiener dentro de su


programacin, por lo que es utilizado en algunos casos para funciones lineales su
estructura es parecida a la del algoritmo LMS, converge ms rpidamente que el algoritmo
LMS y requiere seal de referencia.

El algoritmo DMI es un algoritmo que utiliza matrices en un lazo de control, puede usar
multicanales, en funcin de frecuencia, fase, etc

Sus frmulas principales son:

El algoritmo DMI utiliza las frmulas de Rxx de la correlacin cruzada, pero evaluada entre
dos valores N1 Y N2, donde N1 y N2 son los lmites de iteraciones en donde se evaluar la
sumatoria de Rxx que ser uno de los valores que nos permitir obtener los pesos en el
algoritmo DMI, este valor de Rxx a su inversa se la multiplica por el valor de rxx.

Donde rxx ser igual a d(n)*u, d(n) es la seal de referencia, y u es la seal de entrada al
filtro evaluada en el intervalo N1, N2.

Aplicacin de filtros adaptativos

*CANCELACIN DE RUIDO DE RED EN LOS ELECTROCARDIOGRAMAS (E.C.G.)

Un E.C.G. es el grfico que resulta de dibujar tensin frente a tiempo en el pecho de un


paciente. Los sensores de tensin estn situados en el pecho del paciente y la seal que
recogen se lleva al electrocardigrafo, que es el aparato que pinta la seal. Uno de los
problemas que se presentan al recoger seales tan dbiles como son las provenientes del
pecho de una persona es el ruido (y debido tambin a que se recogen en modo diferencial,
esto es, como diferencia de las seales que hay en dos puntos distintos, siendo una seal
"flotante", y, as, muy susceptible al ruido). Hay muchos tipos de ruido que pueden afectar
a un E.C.G., pero uno de los ms fuertes es el ruido de 50Hz proveniente de la red, entre
otras cosas porque su frecuencia es muy cercana a la de la seal del corazn.
CANCELACIN DE RUIDO EN SEALES DE VOZ

Es muy til el filtrado adaptativo en casos en los que la seal de voz est inmersa en un
ambiente muy ruidoso. En este caso, el esquema general es el que sigue:

Idealmente el sistema elimina el ruido por completo, pero, en la prctica, slo es reducido
considerablemente. Esto es muy utilizado en los aviones militares, para mejorar la
inteligibilidad en las comunicaciones por radio, ya que, en estado normal, el micrfono del
piloto capta su voz, pero tambin capta ruido. Para cancelar ese ruido (o, al menos,
reducirlo), se usa como referencia de ruido un segundo micrfono colocado en el avin
pero lejos de la boca del piloto, para que tan slo capte el ruido.
CANCELACIN DE ECOS EN CANALES TELEFNICOS

Se estudiar posteriormente.

MODELADO / IDENTIFICACIN DE SISTEMAS

Nos referimos aqu a la utilizacin de un sistema adaptativo para encontrar el filtro FIR que
mejor reproduce la respuesta de otro sistema cuya respuesta frecuencia es desconocida a
priori.
FILTRO ADAPTATIVO EN SIMULINK

Seal + Ruido
Error

Salida
Filtros Digitales
Los filtros digitales realizan la funcin del filtro a travs de algoritmos numricos. El proceso se
realiza mediante el diagrama de bloques siguiente:

FILTROS FIR e IIR


Antes de comenzar propiamente a describir un filtro FIR o un filtro IIR, es conveniente
tratar el concepto de filtro no-recursivo y filtro recursivo. El funcionamiento de base de un
filtro digital es relativamente simple. Distinguimos de hecho dos tipos de funcionamiento,
que se ilustran en la figura 1.3.1, figura 1.3.1.a y figura 1.3.1.b.
Un filtro no-recursivo (Filtro FIR) es aquel cuya salida est calculada exclusivamente a
partir de valores de entrada (Yn = Xn + Xn-1 + Xn-2...), mientras que uno recursivo (Filtro
IIR) 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 los 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 el procesador, es decir, que es de menor orden y es
ms corto, que un filtro no-recursivo que persiga una caracterstica en frecuencia dada. Los
filtros no-recursivos tal y como se ha visto anteriormente, se conocen como filtros FIR
(Respuesta al Impulso Finita) y los recursivos se conocen como filtros IIR (Respuesta al
Impulso Infinita).

Estos trminos se refieren a las diferentes respuestas al impulso de ambos tipos de filtros.

En la figura 1.3.1.a retardamos ligeramente una copia de la seal de entrada (de uno o
varios perodos de muestreo) y combinamos la seal de entrada retrasada con la nueva
seal de entrada. Los filtros digitales basados en este funcionamiento se dice que son de
respuesta impulsional finita o FIR (Finite Impulse Response). En la figura 1.3.1.b
retardamos una copia de la seal de salida, la cual combinamos con la nueva seal de
entrada. Los filtros digitales basados en este funcionamiento se dice que son de respuesta
impulsional infinita o IIR (Infinite Impulse Response). Tambin se les denomina filtros
recursivos o con feedback. 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).

FILTROS FIR
Los filtros FIR, son filtros digitales de respuesta impulsional finita (Finite Impulse Response)
se basan en obtener la salida a partir, exclusivamente, de las entradas actuales y
anteriores. As, para un filtro de longitud N:

Donde los {bk } son los coeficientes del filtro. El orden del filtro est dado por N , es decir,
el nmero de coeficientes.

Ante un estmulo impulsional, la respuesta es finita lo que justifica su denominacin. La


salida { y(n)} puede escribirse como la convolucin de la entrada { x(n) } con la respuesta
impulsional { h(n) }:

La expresin puede reescribirse como:

La estructura de un filtro FIR por tanto es la que se muestra en la figura siguiente:


La

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

FILTROS IIR
Los Filtros IIR son filtros digitales 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 valores
de entrada 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:

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. Los filtros IIR 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 que son inestables, es que introducen desfases en la seal,


que pueden ser compensados pero a costa de aadir ms coeficientes al filtro.

Filtro Wiener
Los filtros de Wiener son los mejores filtros lineales de mnimo cuadrados, que pueden ser
usados para prediccin, estimacin, interpolacin, filtrado de seal y ruido, etc.
Para disearlos se necesita tener un conocimiento previo apropiado de las propiedades
estadsticas de la seal de entrada. El problema reside en que este conocimiento
generalmente no se puede obtener.

En su lugar se usan filtros adaptativos adaptativos, que hacen uso de los datos estadsticos
requeridos.

La teora de Wiener es importante para el presente estudio por que los filtros adaptativos
que sern empleados convergen asintticamente ( en media) en las soluciones de Wiener.

El filtro consigue ajustar su estructura tiempo frecuencia a las caractersticas tiempo


frecuencia de la seal que se desea estimar y obtener asi una reduccin selectiva del
ruido.

Caractersticas del filtro Wiener


El objetivo del filtrado de Wiener es determinar la respuesta impulsional h*(n), de longitud
Q muestras, de modo que la salida y(n) sea lo ms parecida posible a las seal d(n). Se
puede tomar, como medida de parecido, el error cuadrtico medio entre la salida y la
referencia.

Respuesta impulsiva del filtro Wiener


Se obtiene encontrando una expresin para el error cuadrtico medio y minimizndola con
respecto a la respuesta impulsiva.

Siendo mm la auto correlacin y mm la correlacin cruzada de dos seales m y n

El valor mnimo del error determina los coeficientes ptimos del filtro, es decir su mejor
diseo.

La ecuacin que nos permite encontrarlos coeficientes (W), del filtro es :


RxW=rdx

Dnde:

Rx: Matriz de autocorrelacin

Rdx: Vector de correlacin cruzada

W: Vector de coeficientes

Filtro de Wiener IIR


Nuestro propsito es disear un filtro h(n) que produzca una salida:

Y(n) = x(n) * h(n)

Tan cercana como sea posible, en sentido cuadrtico-medio, a la respuesta deseada d(n).

El anuncio del problema es idntico para filtros FIR y para IIR, pero existe una gran
diferencia que cambia la solucin.

Para el filtro FIR, existe un nmero finito de posibles coeficientes del filtro, mientras que
con filtro IIR, el nmero de incgnitas, es decir, de valores de h(n) para toda n, es infinito.

PROGRAMACIN DE FILTRO WIENER EN MATLAB


La siguiente funcin en Matlab se encarga de calcular los coeficientes de un filtro FIR
segn el mtodo de Wiener.

Una Utilidad puede ser la cancelacin de ruido.

Con el siguiente cdigo, podremos obtener un filtro de orden p con el que realizar una
estimacin de ruido auditivo de la seal de formacin.

Definimos la seal de entrada


P=15; orden de filtro

N=200; nmero de muestras;

K=1:N; vector

W0=0.45; frecuencias de seal


d=sin(w0*K) ';Seal deseada

eps=1;varianza del ruido blanco

N=eps*randn(N,1);

x=d+n; seal + ruido

plot(x'r');

pause;

Seal + Ruido
Filtrado Wiener en Matlab
r=xcorr(x); %Correlamos la seal de entrada

R=toeplitz(r(N:N+P-1));

ptemp=xcorr(x,d);

p=ptemp(N:N+P-1);

W = R\p

% coeficiente de filtros que aparecen en w son los coeficientes que mejor filtran el ruido
de la seal

xrec=filter(W,1,x);

plot(xrec);

hold on;

plot (d, 'g');

hold of;

Seal deseada y seal filtrada


Filtro digital FIR
Creando filtro pasa baja con fdatool

Filtro digital IIR


Creando filtro pasa alta con fdatool
Filtro Pasa alta usando simulink
Seal + error

Salida

Potrebbero piacerti anche