recuperación de una señal con ruido

Download Recuperación de una señal con ruido

If you can't read please download the document

Upload: macondomontag

Post on 28-Jun-2015

543 views

Category:

Documents


5 download

TRANSCRIPT

Procesamiento Digital de Seales con MATLAB

1

Recuperacin de una seal con ruido aleatorio

Creamos una constante R con valor 50. Vemos que se crea en una matriz de 1x1.

Declaramos una variable m, que consiste en un arreglo de 50 elementos, es decir, una matriz de 1x50. Los elementos son un rango de 0 a R-1 (49).

Jess Garca Daz

Procesamiento Digital de Seales con MATLAB

2

Declaramos la variable x1, que es una funcin de m. Vemos que el resultado es una matriz de 1x50 (un vector).

Ahora queremos declarar x2. Que ser sustituir cada elemento de m con 0.9^m.

Como podemos ver nos marca un error. Lo cual es claro, pues no es posible elevar una constante a una matriz? Por ello usamos el smbolo de punto (.) para indicar que la operacin debe realizarse elemento a elemento.

Que nos da como resultado un vector de 1x50. Ahora queremos multiplicar ambos vectores elemento a elemento. Para ello volvemos a utilizar el smbolo de punto (.).

Jess Garca Daz

Procesamiento Digital de Seales con MATLAB

3

Y obtenemos un nuevo vector de 1x50. Podemos graficarlo como una seal discreta con:

Esta ser nuestra seal original:

Ahora crearemos una seal aleatoria que simular ser el ruido:

Jess Garca Daz

Procesamiento Digital de Seales con MATLAB

4

Ambas instrucciones son equivalentes (pues m es de 1x50). Al graficarla tenemos lo siguiente:

Jess Garca Daz

Procesamiento Digital de Seales con MATLAB

5

Si sumamos ambas seales (x y r), estaramos simulando una situacin muy comn de la vida real, que consiste en agregar ruido a una seal original.

Como podemos ver, la seal es similar a la original, pero con cierta distorsin.

Jess Garca Daz

Procesamiento Digital de Seales con MATLAB

6

Para recuperar la seal original a partir de la seal con ruido podemos usar el concepto de promedio de ensamble. Creamos una matriz y de 1x50 con puros ceros.

Jess Garca Daz

Procesamiento Digital de Seales con MATLAB

7

Ahora hacemos 50 experimentos idnticos al anterior.

De modo que en y tenemos la suma de los 50 experimentos:

Ahora dividimos entre el nmero de experimentos (50 en este caso):

Jess Garca Daz

Procesamiento Digital de Seales con MATLAB

8

Obteniendo as el promedio de ensamble (con K = 50). Como podemos ver, la grfica es muy similar a la original. Si queremos saber qu tan similar es calculamos el error relativo.

Jess Garca Daz

Procesamiento Digital de Seales con MATLAB

9

El error relativo consiste en obtener el cociente entre la norma 2 de la diferencia de ambas seales con la norma 2 de la seal original:

Recordemos que la norma 2 de una seal nos da valor RMS, es decir su valor cuadrtico medio (el cual elevado al cuadrado es su ENERGA). Que no es ms que la magnitud del vector resultante de sumar todas las componentes (todos los elementos del vector x o y, en este caso 50 elementos). En MATLAB usamos la palabra norm:

Podemos ver que el error relativo es muy grande (0.3465). Si repetimos el experimento ms veces dicho error podra reducirse.

Jess Garca Daz

Procesamiento Digital de Seales con MATLAB

10

No necesariamente aumentar el nmero de experimentos garantiza mejores resultados:

Jess Garca Daz

Procesamiento Digital de Seales con MATLAB

11

A continuacin se muestra una grfica del error relativo contra el valor de K. Como se puede apreciar, el error relativo oscila alrededor de un valor en concreto, siendo mximo para K = 1, y reducindose la amplitud conforme K aumenta. Tambin podemos ver que el error relativo ms pequeo se ubica en valores de K entre 1 a 50.

Jess Garca Daz

Procesamiento Digital de Seales con MATLAB

12

El error relativo ms pequeo lo encontramos precisamente en K = 26:

Tambin podemos ver que la norma infinita (inf en MATLAB) de la seal nos da el valor ms alto.

Jess Garca Daz

Procesamiento Digital de Seales con MATLAB

13

Ahora bien, el comportamiento de la grfica anterior se debe a la naturaleza de la seal de ruido agregada a la original. Los valores de la seal ruidosa oscilan entre 0 y 1, con valores positivos, es por ello que la grfica de error relativo contra K tiene esa forma. A continuacin se muestra lo mismo que hicimos en las pginas anteriores, pero con la diferencia de que la seal de ruido tendr valores tanto positivos como negativos.

En la siguiente figura vemos la grfica generada con este nuevo cdigo.

Jess Garca Daz

Procesamiento Digital de Seales con MATLAB

14

Como podemos ver, conforme el valor de K aumenta nos aproximamos a un error relativo igual a cero.

Jess Garca Daz

Procesamiento Digital de Seales con MATLAB

15

Incluso grficamente podemos determinar el valor de K donde el error relativo es menor, siendo igual a 950, correspondindole un error relativo de 0.0576

Jess Garca Daz