Вы находитесь на странице: 1из 8

Diomar Enrique Rodrguez Obregn Sistemas Digitales 12/06/17

Implementacin en hardware de eliminacin de ruido mediante


transformada wavelet discreta 1D
Marco Terico
Las wavelets son una herramienta que se utiliza para el anlisis multiresolucin de seales no
estacionarias y han sido aplicadas en diferentes reas como, codificacin y procesamiento de
imgenes. [1,2]

La transformada wavelet suele compararse con la transformada de Fourier de tiempo corto (STFT)
ya que es una herramienta universal que nos permite analizar seales en tiempo y frecuencia. La
STFT se define como

(1)
(, ) = ()( )

Esta funcin se puede interpretar como la transformada de Fourier(FT) de s(t) utilizando una
ventana g(t) desplazada en el tiempo , conforme se desplaza la ventana g(t) se van calculando
varias transformadas de Fourier de las ventanas traslapadas obtenidas y de esta forma se obtiene
la informacin en tiempo y frecuencia. Si la ventana es muy pequea entonces se mejora la
resolucin en tiempo, pero la FT no ser capaz de distinguir muchas formas sinusoidales en un
intervalo pequeo de tiempo, es decir disminuye la resolucin en frecuencia. En la figura 1 se
observan dos seales de prueba una es la suma de dos sinusoidales a diferentes frecuencias y la
segunda es una seal sinusoidal con una brecha de tiempo donde se omite la seal. En la figura 2
se muestra la STFT de la seal a de la Figura1, para dos diferentes tamaos de ventana, se observa
que para una ventana pequea no se logra distinguir entre las dos sinusoidales presentes en la
seal. En la figura 3 aparece la STFT de la funcin b de la Figura 1 y en este caso se observa que
mientras menor sea el tamao de ventana mejor es la resolucin en tiempo y se logra identificar el
inicio y fin de la brecha de tiempo perfectamente. stas figuras demuestran como la STFT es
limitada y se requieren tcnicas de mayor resolucin para algunos tipos de seales.

Figura 1. Seales de prueba, a) 64Hz y 192 Hz, b) 128 Hz con brecha de 64 muestras.
Diomar Enrique Rodrguez Obregn Sistemas Digitales 12/06/17

Figure 2. STFT de la seal en la figura 1.a, a) usando una ventana de 182 muestras, b) usando una
ventana de 32 muestras.

Figure 3. STFT de la seal en la figura 1.b, a) usando una ventana de 182 muestras, b) usando una
ventana de 32 muestras.

STFT se puede interpretar como la descomposicin de la seal () en las seales base


( ) stas seales se distinguen por su posicin en el tiempo y su frecuencia por lo
que genera una representacin de () en tiempo y frecuencia.

L a transformada wavelet se puede describir de la misma manera en forma de sus funciones base
wavelets, en sta caso la variable se reemplaza por una variable de escalamiento y la
variable generalmente se escribe como . Una wavelet se representa como
1 (2)
, () = ( )

Diomar Enrique Rodrguez Obregn Sistemas Digitales 12/06/17

Remplazando esto por ( ) en (1) se obtiene la definicin de la transformada wavelet


continua (CWT).
1 (3)
(, ) = ( ) ()

De esta forma la transformada wavelet consiste en la descomposicin de la seal () en un


conjunto de seales que son versiones escaladas de la funcin madre wavelet.

La transformada wavelet discreta (DWT) se puede obtener utilizando un banco de filtros, lo que se
conoce como el algoritmo piramidal. Este algoritmo consiste en utilizar dos filtros de cuadratura
en espejo, uno pasa altas y otro pasabajas para obtener dos seales a partir de (), despus, se
puede realizar un submuestreo de la seal debido a que el ancho de banda de cada una de las
seales filtradas se reduce a la mitad y se genera redundancia en dichas seales que se puede
eliminar mediante el submuestreo. Despus de realizar este procedimiento se obtiene el primer
nivel de descomposicin y las seales resultantes se conocen como detalles para el filtro pasa altas
y aproximaciones para el filtro pasabajas. Para obtener un segundo nivel de descomposicin se
aplica el mismo procedimiento a la seal resultante de aproximaciones y as sucesivamente hasta
obtener el nmero deseado de descomposiciones. En la figura 4 se muestra un esquema del
algoritmo piramidal.

Una ventaja de este algoritmo es que permite la reconstruccin de la seal a partir de su


descomposicin. Para esto se aplica un sobremuestreo en las aproximaciones y detalles obtenidos
y en cada nivel se aplican filtros de reconstruccin de la misma manera que en la descomposicin,
uno pasa bajas y un pasa altas y se suman las aproximaciones y detalles filtrados por cada nivel de
descomposicin hasta obtener la seal original. La figura 5 muestra el diagrama de la
reconstruccin de la seal [3,4,5].

cA2
cA1 cA3

cD3
cD2

s(t)

cD1

Figura 4. Descomposicin de una seal mediante DWT (algoritmo piramidal).


Diomar Enrique Rodrguez Obregn Sistemas Digitales 12/06/17

cA2
cA3
cA1
cD3

cD2
s(t)

cD1

Figura 5. Reconstruccin de una seal mediante DWT (algoritmo piramidal).

Para realizar el filtrado de una seal mediante wavelets se realiza primero su descomposicin en
aproximaciones y detalles y se aplica un umbral a las seales de detalles resultantes, es decir todos
los coeficientes de los detalles por debajo del umbral se vuelven cero, despus de aplicar el
umbral a los detalles, se realiza la reconstruccin y se obtiene la seal filtrada. Normalmente el
ruido presente en la seales se encuentra en altas frecuencias, y es por eso se aplica el umbral a
los detalles resultantes de la descomposicin. El umbral suele calcularse como

= 2ln()

Dnde es la desviacin estndar de la seal y se puede aproximar mediante la desviacin


absoluta mediana = /0.6745 y es el nmero de muestras de la seal. Para el caso
de ruido Gaussiano = 1.

Metodologa
Se implement el algoritmo piramidal para descomponer la seal en 4 niveles de descomposicin
y aplicar el umbral precalculado y se implement tambin la reconstruccin para as tener una
seal filtrada mediante la transformada wavelet.

En la figura 6 se muestra el diagrama general implementado.

Figura 6. Diagrama general para filtrar una seal mediante wavelets.


Diomar Enrique Rodrguez Obregn Sistemas Digitales 12/06/17

Para implementar el submuestreo se utiliz un divisor de frecuencia, de esta forma cada nivel de
descomposicin funciona con una frecuencia de reloj igual a la mita de la frecuencia del nivel
anterior, es decir por cada dos muestras procesadas en el primer nivel el segundo nivel procesar
solo la segunda muestra, realizando as el submuestreo de la seal en lnea.

Se implement la transformada utilizando la wavelet Daubechies 2 que se caracteriza por tener 4


coeficientes que se muestran en la tabla 1 [5].

Tabla 1. Coeficientes de los filtros para la DWT con la wavelet Daubechies2.

Descomposicin Reconstruccin
Filtro Pasa-bajas Filtro Pasa-altas Filtro Pasa-bajas Filtro Pasa-altas
-0.1294 -0.4830 0.4830 -0.129
0.2241 0.8365 0.8365 -0.2241
0.8365 -0.2241 0.2241 0.8365
0.4830 -0.1294 -0.1294 -0.4830

Las unidades de diseo implementados son los dos filtros, pasa bajos y pasa altos,
Forward_transform que realiza la descomposicin de la seal en 4 niveles usando 4 componentes
de cada filtro, la umbraliazacin, la reconstruccin, y un divisor de frecuencia que controla cada
uno de los niveles de descomposicin y reconstruccin. Todos los diseos fueron implementados
para utilizar nmeros con signo enteros de 32 bits, por lo que los coeficientes se convirtieron a
eneros escalndolos por un coeficiente = 100, es decir que la seal de salida ser 100 ()
para cada filtro y la seal de entrada debe ser acondicionada para contener solamente valores
enteros. Para obtener en cada filtro una salida del mismo tamao que la entrada se utiliz un
umbral para saturar la seal por arriba o por abajo, es decir que cuando el dato de salida no se
puede representar en 32 bits adquiere el mximo valor posible para 16 bits en caso de ser positivo
o el mnimo valor posible en caso de ser negativo, de sta forma se reduce el error producido al
utilizar cualquier forma de truncamiento.

Para los filtros se utiliz la arquitectura pipeline que aparece en la figura 7.

Figura7. Diagrama de la arquitectura implementada para los filtros.


Diomar Enrique Rodrguez Obregn Sistemas Digitales 12/06/17

Para realizar la transformada inversa fue necesario aplicar retrasos en las seales de detalles para
lograr sincronizarlas con las aproximaciones obtenidas despus de aplicar os filtros de
reconstruccin, para esto se utilizaron registros que almacenan los datos y van realizando los
corrimientos. Adems se observa un desfasamiento en la seal de entrada, por lo que las primeras
muestras de la seal de salida son cero y despus comienzan a obtenerse los valores correctos de
la seal filtrada.

Dado que el filtro es la unidad mnima de funcionamiento del diseo implementado, la frecuencia
mxima de operacin puede calcularse a partir del mismo y de la frecuencia mxima de operacin
del elemento que aplica el umbral a los detalles.

Resultados
Se utiliz una seal sinoidal con ruido aadido y se calcul el error cuadrtico medio (ECM) entre
la seal de entrada y la seal de salida sin tomar en cuenta el umbral, el ECM fue de 10.0847. ste
error se debe principalmente al truncamiento que se realiza sobre las seales de salida de cada
filtro, adems de que se aade error en cada una de las etapas de filtro debido al escalamiento de
los coeficientes. La figura 8 muestra las seales utilizadas para verificar la reconstruccin.

Figura 8. Seales de entrada y salida para la simulacin del circuito.

Para probar la eliminacin de ruido se calcul el umbral para un ruido Gaussiano y para la seal de
entrada con 1024 muestras = 2 ln(1024) 4, y se utiliz ste umbral en la simulacin para
obtener la seal filtrada, la figura 9 muestra la seal de entrada y la seal filtrada mediante la
simulacin. Se observa que la seal de salida contiene menor cantidad de ruido, sin embargo la
seal pierde informacin debido a la aproximacin realizada al escalar los coeficientes de los filtros
y el truncamiento.
Diomar Enrique Rodrguez Obregn Sistemas Digitales 12/06/17

Figura 9. Seal filtrada mediante la simulacin del circuito implementado.

Tambin se realiz el proceso de filtrado utilizando matlab, y se calcul el ECM entre la seal
obtenida en matlab y la seal obtenida en la simulacin del circuito, ECM=7.72. La figura 10
muestra las dos seales graficadas.

Figura 10. Seales obtenidas mediante matlab y simulacin del circuito.

Conclusiones
Se implement la DWT y la IDWT para eliminar el ruido en una seal, el diseo implementado
funciona correctamente, sin embargo se observa un error alto debido al escalamiento de los
coeficientes y a las aproximaciones necesarias para utilizar nmeros enteros. Una solucin a ste
problema es utilizar el estndar de punto fijo para representar los datos, lo que eliminara el error
por redondeo. Adems esto evitara la necesidad de pre procesar la seal para mapearla a valores
enteros y que adems agregan otro factor de error a la seal de salida.
Diomar Enrique Rodrguez Obregn Sistemas Digitales 12/06/17

El circuito utiliza filtros con un diseo pipeline por lo que la frecuencia de operacin depender de
la velocidad de la tecnologa en que se implemente para procesar una multiplicacin, en ste caso
de 16 bits; ya que la multiplicacin es el estado ms complejo del diseo implementado y por lo
tanto el que requiere un mayor perodo de reloj para obtener el resultado.

[1] Rezwanul, A., Muhammad, I. I., Othman, O. K., VHDL Modelling of Fixed-point DWT for the
purpose of EMG Signal Denoising, Third International Conference on Computational Intelligence,
Communication Systems and Networs, 2011, pp. 236-241.

[2] Bentley, P.M., McDonnell, J. T. E., Wavelet transforms: an introduction, Electronics and
Communication Engineering Journal, 1994, pp. 175-186.

[3] Rioul, O., Vetterli, M., Wavelets and signal processing, IEEE SP Magazine, 1991, pp. 15-38.

[4] Sarkar, T. K., Su, C., Adve, R., Salazr-Palma, M., Garcia-Castillo, L., Boix, R. R., A tutorial on
Wavelets from an Electrical Engineering Perspective, Part1: Discrete Wavelet Techniques.

[5] Rezwanul, A., Muhammad, I. I.,Othman, O. K., Development of VHDL Model for Fixed-Point
Discrete Wavelet Transform.

[6] Javaid, S., Haider Zaidi, S. S., Hardware Accelerated Wavelet Transform and De-noising for
Pattern Recognition, IEEE 17th International Multi-Topic Conference(INMIC), 2014, pp. 514-518.

Вам также может понравиться