Está en la página 1de 21

Universidad de Concepci on Facultad de Ingenier a Departamento de Ingenier a El ectrica

Tarea N1

Nombre Asignatura Carrera Profesor Fecha

: : : : :

Pablo Riquelme J. Proc. Dig. de Se nales Ing. Civil en Telecom Jorge E. Pezoa 27 de septiembre de 2013.

Procesamiento Digital de Se nales

Tarea N 1

Indice
1. Se nales en Tiempo 1.1. Problema . . . 1.1.1. Soluci on 1.2. Problema . . . 1.2.1. Soluci on 1.3. Problema . . . 1.3.1. Soluci on 1.4. Problema . . . 1.4.1. Soluci on 1.5. Problema . . . 1.5.1. Soluci on 1.6. Problema . . . 1.6.1. Soluci on Continuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 4 4 5 5 6 6 8 8 10 11 13 13 13 16 16

2. muestreo y cuantizaci on de se nales 2.1. Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1. Soluci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. procesamiento de se nales en tiempo (casi) real usando Matlab 3.1. Problema y Soluci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Pablo Riquelme J.

Procesamiento Digital de Se nales

Tarea N 1

1.

Se nales en Tiempo Continuo

En estricto rigor no es posible generar se nales continuas usando un computador debido a que los valores almacenados en una maquina discreta son, obviamente, n umeros con precisi on nita que aproximan n umeros reales. Sin embargo, para efectos de este problema obviaremos esta rigurosidad y aproximaremos se nales continuas por medio de se nales discretas que han sido maestreadas a una tasa muy alta.

1.1.

Problema

Considere las siguientes se nales continuas: x(t) = cos(2f0 t) + cos(2f1 t), con 0 < f0 < f1 , y c R, 1 t2 z (t) = exp 2 , donde > 0, 2 2 w(t) = c,

donde c, f0 , f1 y son constantes no nulas. Obtenga X(f)=F {x(t)}, Z(f)=F {z(t)} y W(f)=F {w(t)} las transformadas de Fourier de x(t), z(t) y w(t),respectivamente. 1.1.1. Soluci on

La transformada de Fourier de la se nal (1), es calculada por la siguiente denici on


+

X (f ) = F {x(t)} =
+

x(t)ej 2f t dt

=
+

[cos(2f0 t) + cos(2f1 t)]ej 2f t dt


+

=
+

cos(2f0 t)e e
j 2f0 t

j 2f t

dt +

cos(2f1 t)ej 2f t dt
+

+e 2

j 2f0 t

ej 2f t dt +
+

ej 2f1 t + ej 2f1 t 2

ej 2f t dt

1 = 2 1 = 2

1 ej 2f0 t + ej 2f0 t ej 2f t dt + 2 + 1 ej 2(f f0 )t + ej 2(f +f0 )t dt + 2

ej 2f1 t + ej 2f1 t ej 2f t dt
+

ej 2(f f1 )t + ej 2(f +f1 )t dt

Luego, se obtiene 1 1 X (f ) = [ (f f0 ) + (f + f0 )] + [ (f f1 ) + (f + f1 )] 2 2

Pablo Riquelme J.

Procesamiento Digital de Se nales

Tarea N 1

Para el caso de la se nal (2), la transformada de Fourier es obtenida de la siguiente manera


+

Z (f ) = F {z (t)} =
+

z (t)ejf t dt

t2 2 2

1 e 2
+

ejf t dt ejf t dt dt

1 = 2 1 = 2

e
+

t2 2 2

1 2

t2 +j 2f t 2

Completando cuadrados en el exponente


+ 1 1 = e 2 2 + 1 1 e 2 = 2 1 1 2 = e 2 (2f ) 2
1 1 2 = e 2 (2f ) 2 t2 +j 2f t+(j 2f )2 (j 2f )2 2

dt
2

t2 +j 2f t+(j 2f )2 2

e 2 (j 2f ) dt
2

+ +

e 2 [ +(j 2f )] dt e
1 2
t+j 2f 2 2

dt

Sustituyendo = t + j 2f 2 y dt = d se obtiene
1 1 2 = e 2 (2f ) 2

++j 2f 2 +j 2f 2

e 2 [ ] d

1 2

La ecuaci on anterior puede interpretarse como una integral en el plano complejo en una trayectoria horizontal desde hasta + a una distancia 2f 2 del eje real. Completando un contorno cerrado, como se muestra en la Figura 1, puesto que el integrado es anal tico, que en ese contorno cerrado la integral es cero, por lo tanto
++j 2f 2 +j 2f 2

1 2[]

d =
R+j 2f 2 R

e
1 2

1 2[]

d
R

1 2[]

R+j 2f 2

d
R R+j 2f 2 R

e 2 [ ] d

1 2

=
R

e 2 [ ] d

R R+j 2f 2

e 2 [ ] d

1 2

e 2 [ ] d

1 2

Donde se observa que para R las dos u ltimas integrales al lado derecho son iguales a cero. As se tiene
++j 2f 2 R

l m

e
+j 2f 2

1 2[]

d =

1 2 e 2 [ ] d = 2

Pablo Riquelme J.

Procesamiento Digital de Se nales

Tarea N 1

Con lo que nalmente se puede expresar


1 1 2 Z (f ) = e 2 (2f ) 2

++j 2f 2 +j 2f 2

1 2 1 1 1 2 2 e 2 [ ] d = e 2 (2f ) 2 = e 2 (2f ) 2

Luego, se obtiene Z (f ) = e2
2 f 2 2

Figura 1: Trayectoria de integraci on para c alculo de tranformada de Fourier de distribuci on normal. Por ultimo en la se nal (3), el c alculo de la transformada de Fourier resulta de la siguiente forma
+

W (f ) = F {w(t)} =
+

w(t) ej 2f t dt

= =c

c ej 2f t dt
+

ej 2f t dt

Luego, se obtiene W (f ) = c (f )

Pablo Riquelme J.

Procesamiento Digital de Se nales

Tarea N 1

1.2.

Problema

Suponga que c=1, f0 =500 [Hz], f1 = 1000 [Hz] y =1. Graque x(t), X(f) , z(t), Z(f) , w(t) y W(f) . Para gracar el tiempo continuo utilizaremos una aproximaci on al tiempo continuo que llamaremos tc. Los comandos de Matlab para realizar la aproximaci on son: % Define maximo tiempo para graficar la senal T = 2*1/min([f0 f1]); % Define tiempo continuo tc = linspace(-T,T,10^6); % Calcula las senales continuas xt = cos( 2*pi*f0*tc ) + cos( 2*pi*f1*tc ); zt = exp( - tc.^2 ./ (2*sigma) ) ./ ( sigma * sqrt(2*pi) ); wt = c * ones(1, length(tc)); donde c=c, f0=f0 , f1=f1 y sigma= . Notar en este punto que, al gracar las se nales !estamos muestreando!, pero al decir gracar una se nal continua y al usar l neas continuas para gracar inmediatamente nos olvidamos del teorema de muestreo. 1.2.1. Soluci on

A continuaci on se muestran la representaci on gr aca de las funciones x(t), z(t), w(t) en el tiempo como se nales continuas y adem as las respectivas transformada de Fourier en frecuencia, en donde cabe resaltar que para efectos de una mejor visualizaci on de la se nal z(t) se considera un =1/100. En las otras funciones se retoma el valor entregado por enunciado, es decir =1. Una vez dicho esto, se tiene
2 1 0.9 1.5 0.8 1 0.7 0.6

|X(f)|
3 2 1 0 1 2 3 x 10 4
3

0.5

x(t)

0.5 0.4 0.3 0.2

0.5

1 0.1 1.5 4 0 1500

1000

500

500

1000

1500

tiempo [s]

frecuencia [Hz]

(a)

(b)

Figura 2: (a) representaci on de la se nal x(t) en el tiempo, (b) magnitud de la transformadas de Fourier
de la se nal x(t) en frecuencia.

Pablo Riquelme J.

Procesamiento Digital de Se nales

Tarea N 1

39.8942 39.8942 39.8942 39.8942 39.8942 39.8942 39.8942 39.8942 39.8942 39.8942 39.8942 4

1 0.9 0.8 0.7 0.6

|Z(f)|
3 2 1 0 1 2 3 x 10 4
3

z(t)

0.5 0.4 0.3 0.2 0.1 0 150

100

50

50

100

150

tiempo [s]

frecuencia [Hz]

(a)

(b)

Figura 3: (a) representaci on de la se nal z(t) en el tiempo, (b) magnitud de la transformadas de Fourier
de la se nal z(t) en frecuencia.
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 4 1 0.9 0.8 0.7 0.6

|W(f)|
3 2 1 0 1 2 3 x 10 4
3

w(t)

0.5 0.4 0.3 0.2 0.1 0

600

400

200

200

400

600

tiempo [s]

frecuencia [Hz]

(a)

(b)

Figura 4: (a) representaci on de la se nal w(t) en el tiempo, (b) magnitud de la transformadas de Fourier
de la se nal w(t) en frecuencia.

1.3.

Problema

Justique claramente por qu e x(t) satisface el teorema de muestreo mientras que z (t) y w(t) no lo satisfacen. Para el caso de z(t) y w(t) establezca claramente que se debe suponer o que se puede hacer para que se satisfagan los requerimientos del teorema del muestreo. Especique c omo se implementa esa suposici on/requerimiento en la pr actica. 1.3.1. Soluci on

El teorema del muetreo de Nyquist-Shannon dice que matem aticamente se puede reconstruir una se nal peri odica continua que est e en banda base(limitada) a partir de sus muestras, que se tienen que tomar con el doble o m as de la frecuencia m axima. Entonces, si observamos el espectro de x(t), es decir la Figura 2(b), es posible evidenciar que no existe componente en frecuencia m as grande que la frecuencia de mayor magnitud f1 , donde

Pablo Riquelme J.

Procesamiento Digital de Se nales

Tarea N 1

podemos argumentar que se cumple el teorema del muestreo. Ahora, si de igual forma se observa el espectro de z (t) y w(t), es decir la Figura 3(b) y Figura 4(b) respectivamente, se deduce que no son acotadas para un intervalo nito de frecuencias, por lo tanto no satisface los requerimientos del teorema del muestreo. Luego, si es necesario que este requerimiento se cumpla en la pr actica se debe ocupar un ltro antialias sintonizado a una frecuencia m axima, con lo cual se eliminan todos los componentes frecuenciales, de forma de dejar pasar solo un rango de frecuencias.

1.4.

Problema

1 Veamos ahora el efecto del muestreo. Considere las frecuencias de muestreo fs1 = Ts 1 = 1500 1 muestras por segundo(mps) y fs2 = Ts nales x(t), z (t) y 2 = 3fs1 = 4500 mps. Muestree las se w(t) para obtener xi [n] = xi (nTsi ), zi [n] = zi (nTsi ) y wi [n] = wi (nTsi ), i = 1, 2, y graf quelas usando el comando stem de Matlab. Justique si las versiones muestreadas son una buena representaci on de las se nales continuas usando un criterio subjetivo (visual) y otro objetivo (usando el teorema del muestreo).

1.4.1.

Soluci on

De lo anterior se obtienen los siguientes


2 2

1.5

1.5

x(t), x1(kTs)

0.5

x(t), x2(kTs)
3 2 1 0 1 2 3 x 10 4
3

0.5

0.5

0.5

1.5 4

1.5 4

3 x 10

4
3

tiempo [s]

tiempo [s]

(a)

(b)

Figura 5: (a) se nal x(t) y su versi on muestreada a fs1 , (b) se nal x(t) y su versi on muestreada a fs2 .

Pablo Riquelme J.

Procesamiento Digital de Se nales

Tarea N 1

39.8942

39.8942

39.8942

39.8942

39.8942

39.8942

z(t), z1(kTs)

39.8942

z(t), z2(kTs)
3 2 1 0 1 2 3 x 10 4
3

39.8942

39.8942

39.8942

39.8942

39.8942

39.8942 4

39.8942 4 3 2 1 0 1 2 3 x 10 4
3

tiempo [s]

tiempo [s]

(a)

(b)

Figura 6: (a) se nal z(t) y su versi on muestreada a fs1 , (b) se nal z(t) y su versi on muestreada a fs2 .
2 1.8 1.6 1.4 2 1.8 1.6 1.4

w(t), w1(kTs)

1.2 1 0.8 0.6 0.4 0.2 0 4

w(t), w2(kTs)
3 2 1 0 1 2 3 x 10 4
3

1.2 1 0.8 0.6 0.4 0.2 0 4

3 x 10

4
3

tiempo [s]

tiempo [s]

(a)

(b)

Figura 7: (a) se nal w(t) y su versi on muestreada a fs1 , (b) se nal w(t) y su versi on muestreada a fs2 . Comentarios Generales: Se puede observar, principalmente en la primera se nal, que al utilizar una baja frecuencia de muestreo se pierde se nal, es decir, la variaci on que lleva a cero la se nal, es decir desaparece, esto implica perdida de informaci on y distorsi on de la se nal en la pr actica. Esto se debe a que la frecuencia de muestreo utilizada no satisface el teorema del muestreo ya que la m axima frecuencia contenida en la se nal es de 1000 [Hz] y es necesario una frecuencia de muestreo superior al doble para asegurar una buena representaci on. En el caso de una tasa de muestreo de 4500 muestras por segundo se observa una mejor representaci on de la se nal, esto se debe principalmente a que es una frecuencia de muestreo superior al doble de la m axima frecuencia de la se nal, luego para cualquier tasa de muestreo superior, la reconstrucci on de la se nal es v alida.

Pablo Riquelme J.

Procesamiento Digital de Se nales

Tarea N 1

1.5.

Problema

Veamos ahora el efecto del ltro de reconstrucci on. Para reconstruir una se nal muestreada y convertirla en continua se puede usar cualquier ltro o procedimiento de interpolaci on. En esta parte del problema utilizaremos interpolaci on spline c ubica para recuperar las se nales en tiempo continuo. Esto se hace en Matlab por medio del comando spline(td,xtd,tc) donde td y xtd son el tiempo muestreado y la se nal muestreada, respectivamente, mientras que tc es la aproximaci on al tiempo continuo denido anteriormente. Comente los resultados obtenidos y explique nuevamente usando un criterio subjetivo (visual) y otro objetivo (teorema del muestreo, error total, etc.). 1.5.1. Soluci on

La interpolaci on por spline resulta de la siguiente forma


2.5 2 1.5 1 2.5

Original Recuperada 1

2 1.5 1 0.5 0

Original Recuperada 2

x(t), xr,1(t)

0.5 0 0.5 1 1.5 2 4

x(t), xr,2(t)
3 2 1 0 1 2 3 x 10 4
3

0.5 1 1.5 4

3 x 10

4
3

tiempo [s]

tiempo [s]

(a)

(b)

Figura 8: (a) se nal x(t) y versi on recuperada de la se nal x(t) usando ltro spline cuando la frecuencia
de muestreo usada es fs1 [Hz], (b) se nal x(t) y versi on recuperada de la se nal x(t) usando ltro spline cuando la frecuencia de muestreo usada es fs2 [Hz].

Pablo Riquelme J.

Procesamiento Digital de Se nales

Tarea N 1

39.8942 39.8942 39.8942 39.8942

39.8942

Original Recuperada 1

39.8942 39.8942 39.8942

Original Recuperada 2

z(t), zr,1(t)

39.8942 39.8942 39.8942 39.8942 39.8942 39.8942 4

z(t), zr,2(t)
3 2 1 0 1 2 3 x 10 4
3

39.8942

39.8942 39.8942 39.8942 39.8942 39.8942 39.8942 39.8942 4

3 x 10

4
3

tiempo [s]

tiempo [s]

(a)

(b)

Figura 9: (a) se nal z(t) y versi on recuperada de la se nal z(t) usando ltro spline cuando la frecuencia
de muestreo usada es fs1 [Hz], (b) se nal z(t) y versi on recuperada de la se nal z(t) usando ltro spline cuando la frecuencia de muestreo usada es fs2 [Hz].
2 1.8 1.6 1.4 2

Original Recuperada 1

1.8 1.6 1.4

Original Recuperada 2

w(t), wr,1(t)

1.2 1 0.8 0.6 0.4 0.2 0 4

w(t), wr,2(t)
3 2 1 0 1 2 3 x 10 4
3

1.2 1 0.8 0.6 0.4 0.2 0 4

3 x 10

4
3

tiempo [s]

tiempo [s]

(a)

(b)

Figura 10: (a) se nal w(t) y versi on recuperada de la se nal w(t) usando ltro spline cuando la frecuencia
de muestreo usada es fs1 [Hz], (b) se nal w(t) y versi on recuperada de la se nal w(t) usando ltro spline cuando la frecuencia de muestreo usada es fs2 [Hz].

Comentarios Generales: Para las La se nales reconstruidas usando spline para una se nal muestreada a 4500 muestras por segundo, es decir Figure 8(b), Figure 9(b) y Figure 10(b), cuando la frecuencia de muestreo usada es fs2 [Hz] se observa visualmente bastante bien representada con respecto a las se nales ori4 18 ginales en tiempo continuo. Se presentan errores del orden de 10 , 10 y 0 respectivamente (el error se calcula como la media en las diferencias entre la se nal original y la reconstruida). En el caso de la se nal muestreada a 1500 muestras por segundo es decir Figure 8(a), Figure 9(a) y Figure 10(a), cuando la frecuencia de muestreo usada es fs1 [Hz] se obtiene una se nal totalmente distinta para el caso de la se nal sinusoidal esto es debido a que no se cumple el teorema de muestreo, sin embargo las otras 2 se nales se ven bien representadas.

Pablo Riquelme J.

Procesamiento Digital de Se nales

Tarea N 1

1.6.

Problema

Volvamos a ver el efecto del ltro de reconstrucci on. En la teor a cl asica, el ltro de resin(t) construcci on que se utiliza es la funci on sinc(t) , y la f ormula de reconstrucci on o t interpolaci on:

xr (t) =
n=

x[n]sinc(fs (t nTs ))

Notar que para un tiempo t = t0 jo, la ecuaci on (9) puede reescribirse como el producto punto entre dos vectores de dimensi on innita, uno que tiene los valores muestreados x[n] y otro que representa los valores de sinc(fs (t0 nTs )). En la pr actica, nunca disponemos de un n umero innito de muestras, por lo tanto la ecuaci on anterior se aproxima por:
n1

xr (t)
n=n0

x[n]sinc(fs (t nTs ))

Que puede reescribirse como el producto punto entre dos vectores de dimensi on nita N , donde N = n1 n0 : sinc(fs (t n0 Ts )) sinc(fs (t (n0 + 1)Ts )) . . xr (t) = (x[n0 ]x[n0 + 1] x[n1 1]x[n1 ]) = xT sinc(t) . sinc(fs (t (n0 1)Ts )) sinc(fs (t n0 Ts )) Donde X (x[n0 ]x[n0 + 1] x[n1 1]x[n1 ])T ysinc(t)

. sinc(fs (t n0 Ts ))sinc(fs (t (n0 + 1)Ts )). .sin

Por lo tanto, si consideramos K instantes de tiempo,t0 , , tK 1 , la se nal reconstruida puede calcularse usando la multiplicaci on vector matriz: xr (t0 ) xr (t1 ) x(t) = = xT (sinc(t0 )sinc(t1 ) sinc(tK 1 )) . . . . xr (tK 1 ) Cu al es la gracia de esto?. Bueno, multiplicar vectores y matrices en Matlab es algo muy sencillo. Utilice este producto vector-matriz y la funci on sinc de Matlab para reconstruir las se nales continuas a partir de xi [n] = xi (nTsi ), zi [n] = zi (nTsi ) y wi [n] = wi (nTsi ), i = 1; 2.

10

Pablo Riquelme J.

Procesamiento Digital de Se nales

Tarea N 1

Comente los resultados obtenidos con este ltro y explique nuevamente usando un criterio subjetivo (visual) y otro objetivo (usando el teorema del muestreo). Ayuda: notar que sinc(fs (t nTs )) es funci on de t y n, donde t=tc y n viene dado por los valores muestreados en la parte 4 de este problema. En Matlab, evaluar una funci on de dos variables puede hacerse f acilmente usando la siguiente idea: % Define matrices para x e y con el muestreo del intervalo [-1,1]x[-2,2] [x y]=meshgrid(-1:0.01:1, -2:0.01:2); % Evalua una funcion de dos variables y plotea los resultados z=2*x.^2+4*y.^3; surf(x,y,z,LineStyle,none) 1.6.1. Soluci on

La interpolaci on por sinc resulta de la siguiente forma


2.5 2 1.5 1.5 1 1 0.5 0 0.5 1.5 2 2.5 4 1 1.5 4 2.5

Original Recuperada 1

Original Recuperada 2

x(t), xr,1(t)

0 0.5 1

3 x 10

4
3

x(t), xr,2(t)

0.5

3 x 10

4
3

tiempo [s]

tiempo [s]

(a)

(b)

Figura 11: (a) se nal x(t) y versi on recuperada de la se nal w(t) usando ltro sinc cuando la frecuencia
de muestreo usada es fs1 [Hz], (b) se nal x(t) y versi on recuperada de la se nal x(t) usando ltro sinc cuando la frecuencia de muestreo usada es fs2 [Hz].

Comentarios Generales:

Para las se nales reconstruidas usando la funci on sinc muestreada a 4500 muestras por segundo, es decir Figura 11(b), Figura 12(b) y Figura 13(b), cuando la frecuencia de muestreo usada es fs2 [Hz], se observa bastante bien para la funci on x(t) cumple los requerimientos m nimos del teorema del muestreo, no as para las reconstrucci on de las se nales z(t) y w(t), donde quiz as por la naturaleza oscilatoria de la funci on sinc utilizada para este interpolaci on resulta m as complicado el representar funciones constantes como el caso de w(t) o que al alejarse en el eje y se ve que la funci on z(t) es muy semejante a una funci on constante. En el caso de las se nales muestreadas a 1500 muestras por segundo es decir Figure 11(a), Figure 12(a) y Figure 13(a), cuando la frecuencia de muestreo usada es fs1 [Hz] se obtiene una se nal completamente distinta, para el caso de la reconstrucci on de la se nal x(t), resulta evidente

11

Pablo Riquelme J.

Procesamiento Digital de Se nales

Tarea N 1

46 45 44 43

46

Original Recuperada 1

45 44 43

Original Recuperada 2

z(t), zr,1(t)

42 41 40 39 38 37 4

z(t), zr,2(t)
3 2 1 0 1 2 3 x 10 4
3

42 41 40 39 38 37 4

3 x 10

4
3

tiempo [s]

tiempo [s]

(a)

(b)

Figura 12: (a) se nal z(t) y versi on recuperada de la se nal w(t) usando ltro sinc cuando la frecuencia
de muestreo usada es fs1 [Hz], (b) se nal z(t) y versi on recuperada de la se nal w(t) usando ltro sinc cuando la frecuencia de muestreo usada es fs2 [Hz].
1.15 1.15

Original Recuperada 1
1.1 1.1

Original Recuperada 2

1.05

w(t), wr,2(t)
3 2 1 0 1 2 3 x 10 4
3

x(t), xr,1(t)

1.05

0.95

0.95

0.9 4

0.9 4

3 x 10

4
3

tiempo [s]

tiempo [s]

(a)

(b)

Figura 13: (a) se nal w(t) y versi on recuperada de la se nal w(t) usando ltro sinc cuando la frecuencia
de muestreo usada es fs1 [Hz], (b) se nal w(t) y versi on recuperada de la se nal w(t) usando ltro sinc cuando la frecuencia de muestreo usada es fs2 [Hz].

notar la gran diferencia de la recuperada, es m as tiende a parecer una se nal coseno en vez de la original. El mismo fen omeno se encuentra presente en la reconstrucci on de las se nales z(t) y w(t) donde a simple vista se parecen las recuperadas entre s pero var an en magnitud, Esta diferencia ocurre principalmente por que no se cumple el teorema del muestreo. Vale resaltar que al realizar una comparaci on de estos dos sistemas de recuperaci on de una se nal, si bien es cierto lo relevante que es el teorema del muestreo lo es tambi en la elecci on de la funci on usada para la reconstrucci on optima de la se nal a tratar.

12

Pablo Riquelme J.

Procesamiento Digital de Se nales

Tarea N 1

2.
2.1.

muestreo y cuantizaci on de se nales


Problema
(Problema grupal). Considere la siguiente se nal continua: x(t) = cos(2f0 t) + cos(2f1 t), con 0 < f0 < f1 y t [0, 2/f0 ],

Donde f0 y f1 son constantes. En primer lugar, determine una frecuencia de muestreo, fs = 1/Ts , adecuada para muestrear x(t). Luego, determine el rango din amico de x(t). Justique sus respuestas. Muestree la se nal x(t) para obtener x[n] = x(nTs ), que corresponde a la se nal muestreada pero no cuantizada. Denotaremos ac a con N al n umero total de muestras tomadas de la se nal x(t). Luego, cuantice la se nal usando 2, 4 y 8 bits, es decir, divida el rango din amico en 4, 16 y 256 intervalos o divisiones. Asigne valores apropiados para cada uno de los valores centrales de los intervalos de cuantizaci on. Con esto Ud. obtendr a la se nal muestreada y cuantizada (Q) xb [n] = Qb (x(nTs )), donde Qi (.) denota la operaci on no lineal de cuantizaci on usando b bits, con b = 2, 4, 8. Finalmente calcule el error cuadr atico total entre las N muestras tomadas a (Q) x[n] = x(nTs ) y las N muestras cuantizadas xb [n], para cada uno de los n umero de bits usados en la cuantizaci on, es decir, calcule:
N 1

T SE =
n=0

(x(nTs ) xb [n])2 .

(Q)

Concluya y comente sus resultados. Graque adem as la se nal contin ua usando plot, la se nal muestreada usando stem y la se nal muestreada y cuantizada usando stairs. Para cuantizar las se nales utilice el comando de Matlab quantiz. 2.1.1. Soluci on

La frecuencia de muestreo, seg un el teorema del muestreo, debe ser mayor o igual al doble de la m axima frecuencia presente en la se nal para asegurar una correcta representaci on de la se nal. Del espectro, y como ya es sabido, la m axima componente de frecuencia en la se nal es f1 en este caso utilizaremos f1 =1000[Hz] y f0 = 500 [Hz], as la m nima frecuencia de muestreo es 2f1 =2000 [Hz].Luego, para determinar el rango din amico de la se nal x(t) ubicamos el m aximo y el m nimo valor de la se nal y restamos, de esta forma obtenemos el rango de valores continuos que puede tomar la se nal en el tiempo. En este caso, el rango din amico es 3, ya que la se nal var a entre -1 y 2, es decir en la Figura 2(a) es posible observar lo dicho comportamiento. El n umero total de muestras tomadas para la se nal desde 0 hasta 2/f0 =9. Para realizar la cuantizaci on de la se nal se divide el rango din amico en 255, 15 y 3 particiones y se les asignan 256, 16 y 4 valores correspondientes a los 8, 4 y 2 bits de representaci on, respectivamente. Para esto se utiliza el comando quantiz de Matlab. En este caso se realiza un muestreo a una tasa de 10.000 muestras por segundo, para asegurar una buena representaci on de la se nal al ser esta tasa mucho mayor al doble de la m axima frecuencia, se muestra la se nal muestreada utilizando el comando stem, y la se nal cuantizada utilizando el comando stairs.

13

Pablo Riquelme J.

Procesamiento Digital de Se nales

Tarea N 1

1.5

x(t) x(nTs) Q4(x(nTs))

x(t), x(nTs), Q4(x(nTs))

0.5

y[n]=Kn

0.5

1.5 0
0 0 1 2 3 4 5 6 7 8 9 10

0.5

1.5

2.5

3.5 x 10

4
3

tiempo [s]
n

(a)
2 1.5

(b)
x(t) x(nTs) Q8(x(nTs))
1

x(t), x(nTs), Q8(x(nTs))

0.5

0.5

1.5 0

0.5

1.5

2.5

3.5 x 10

4
3

tiempo [s]

(c)

Figura 14: se nal x(t) y sus versiones muestreadas y cuantizada usando: (a) 2 bits, (b) 4 bits y (c) 8
bits, respectivamente.

Comentarios Generales: Podemos observar que la cuantizaci on, adem as de las particiones que se le hagan al eje de la amplitud de la se nal, depende de la frecuencia de muestreo, en este caso la frecuencia de muestreo es sucientemente grande para asegurar una buena representaci on de la se nal. En el caso con 2 bits de cuantizaci on En este caso la cuantizaci on no logra ni siquiera cubrir los valores m aximos y m nimos de la se nal por ende al reconstruir esta tendremos una se nal que diere totalmente de la original. Luego determinaremos el error cuadr atico total entre todas las N muestras cuantizadas y la se nal originalmente muestreada, esto se calcula de la siguiente forma:
N 1

T SE =
n=0

2 (x(nTs ) xQ b [n])

Donde N es el n umero total de muestras, x(nTs ) es la se nal muestreada (en este caso con Q una frecuencia de muestreo de 10.000 [Hz] ) y xb [n] corresponde a la se nal cuantizada con b bits.

14

Pablo Riquelme J.

Procesamiento Digital de Se nales

Tarea N 1

Para la se nal cuantizada a 8 bits el error obtenido es un TSE=0.0022674, para la se nal cuantizada de 4 bits el error obtenido es un TSE=1.0933, para la se nal cuantizada a 2 bits el error obtenido es un TSE=12.7759. A partir de este c alculo podemos hacer notar las grandes diferencias de la se nal cuantizada con la se nal original al disminuir las cantidades de valores que puede tomar la se nal, esto se debe a que el rango din amico se divide muy pocas veces y puede que en esas divisiones se pierdan algunas partes de la se nal, como ocurre por ejemplo en la cuantizaci on de 2 bits, ya que la se nal puede tomar s olo 4 valores.

15

Pablo Riquelme J.

Procesamiento Digital de Se nales

Tarea N 1

3.
3.1.

procesamiento de se nales en tiempo (casi) real usando Matlab


Problema y Soluci on

En este problemas haremos procesamiento digital de se nales en tiempo real usando Matlab,una tarjeta de sonido y una webcam. Se necesita tener instalado Matlab y los toolboxes de adquisici on de datos, procesamiento de im agenes y adquisici on de im agenes. En caso de no poseer estos casos comunicarse con el profesor para facilitar el acceso al laboratorio de se nales del DIE. 1. Procesamiento de se nales de audio. La voz humana t picamente tiene una respuesta en frecuencia entre los 300 y 3000 Hz. De acuerdo al teorema del muestreo 6 kHz deber an ser sucientes para muestrear el audio. En este problema oiremos el efecto de aliasing en la voz. Adjunto a este documento se encuentra disponible el c odigo UsoDeTarjetaSonido.m en el cual se muestra c omo adquirir datos desde el micr ofono. Modique el programa para que: a) Se graban 5 segundo de audio, muestreados 16384 [Hz], mientras Ud. dice al micr ofono:??Por el desarrollo libre del esp ritu. Guarde la se nal en la variable SampleData b) Submuestree esta se nal a la mitad, a un cuarto y a un octavo de la se nal original. Notar que submuestrear no signica volver a digitalizar la se nal, sino que signica eliminar muestras. Describa como hace este procesamiento en Matlab. Comente lo que escucha y justique su respuesta de acuerdo al teorema del muestreo. Soluci on Al grabar 5 segundo de audio muestreando a una frecuencia de F s = 16384 [Hz ] la frase Por el desarrollo libre del esp ritu ,se obtiene el siguiente gr aco:

Figura 15: Gr aco se nal de Audio Original

16

Pablo Riquelme J.

Procesamiento Digital de Se nales

Tarea N 1

Que corresponde a la se nal de audio de la voz de mi persona. Al submuestrear esta se nal a la mitad, es decir, eliminar muestras cada un valor obtenido la se nal de audio escuchada corresponde a mi voz se agrava en el tono, producto de que se han recogido menos muestras del audio. Al submuestrear la se nal de audio original a un cuarto se puede escuchar que la voz esta a un m as grave que cuando se submuestreo a la mitad de la se nal original. Con el submuestreo correspondiente a un octavo el audio se agrava demasiado, pierdiendose en gran cantidad la calidad del audio dada a la muy baja cantidad de muestras obtenidas. Se concluye que a medida que bajamos la frecuencia de muestreo la se nal del audio obtenida es cada vez m as grave. En Matlab se realiza todo esto partiendo de grabar el audio de 5 segundos y muestrearlo a la frecuencia pedida (F s = 16384 mps) con la funci on wavrecord luego se escucha el audio obtenido con la funci on wavplay. Para submuestrear el audio a la mitad, a un cuarto y a un octavo se emple o la funci on downsample que da la opci on de elegir el submuestreo deseado.

2. Procesamiento de se nales de video. La idea es simular un sistema digital de codicaci on de video como los que utilizan las compa n as de TV cable. Este proceso consiste b asicamente en :(i) tomar una imagen (se nal bidimensional) y transformarla en una se nal unidimensional;(ii) codicar la se nal unidimensional utilizando un procedimiento conocido;(iii) para decodicar se debe aplicar la funci on inversa a la codicaci on a la se nal unidimensional; y (iv) se reconstruye la imagen decodicada a partir de la se nal unidimensional decodicada mediante la funci on inversa. En paralelo a (iii) y para efectos de depuraci on se puede construir una imagen codicada a partir de la se nal unidimensional (codicada) para ver el efecto del proceso en la imagen. Adjunto a este documento se encuentra disponible el c odigo UsoDeWebcam.m que permite capturar im agenes desde una c amara web, desplegarlas en pantalla y guardar videos en memoria.Ud. Debe modicar este programa para implementar un prototipo codicador/decodicador. Para ello haga lo siguiente: a) Haga un diagrama en bloque del proceso. Soluci on A continuaci on se dibuja un diagrama de bloques b asicos de un sistema digital de codicaci on de video. b) Transforme,usando el comando reshape,una imagen capturada por la webcam en un vector de datos.Este vector se llamara VectorImage. Soluci on Antes de utilizar el comando reshape se obtuvo la imagen empleando el comando imaqtool directamente desde la consola de Matlab, este comando entrega la herramienta de adquisici on de im agenes necesaria para obtener una imagen desde la webcam. Usando otros comandos de Matllab se obtuvo la imagen llamada foto, que es una matriz de dimensiones

17

Pablo Riquelme J.

Procesamiento Digital de Se nales

Tarea N 1

Figura 16: Diagrama de bloques de un sistema digital de codicaci on de video (120x160x3). Luego se transform o esta matriz en un vector de datos mediante el uso del comando reshape quedando un vector de dimensiones (1x57600) llamado VectorImage. c) Codicaci on :la codicaci on se hace con una clave binaria de 21 bits que se implementa mediante la siguiente funci on de transferencia: H (z ) = 1+ z 3 + z 5 + z 9 + z 12 + z 15 + z 20 . En Matlab, esto se hace ltrando VectorImage con el comando ProcessedVectorImage=lter(b,a,VectorImage) donde a y b son los coeciente de las potencias de z del denominador y del numerador, respectivamente, H (z ). Soluci on En este paso se codica la imagen capturada con una clave binaria de 21 bits mediante el uso de la funci on de transferencia: H (z ) = 1 + z 3 + z 5 + z 9 + z 12 + z 15 + z 20 (1)

En Matlab se aplic o el comando lter que est a denido como: ProcessedVectorImage=lter(b,a,VectorImage),este recibe como argumentos al vector procesado VectorImage y a los par ametros a y b, que corresponden a los par ametros de la siguiente funci on de transferencia: H (z ) = b0 + z 1 b1 + z 2 b2 + ... + z M bM Y (z ) = X (z ) a0 + z 1 a1 + z 2 a2 + ... + z N aN (2)

d) Decodicaci on : la decodicaci on se hace aplicando la funci on inversa de H (z ),es decir, 1 se hace v a funci on de transferencia G(z ) = H (z ). En Matlab esto signica procesar ProcessedVectorImage usando lter y la implementaci on de la funci on de transferencia G(z). Con esto se obtiene RecoveredVectorImage. Soluci on Al decodicar la imagen mediante el uso del comando lter, lo que matem aticamente es lo mismo que aplicar la inversa de la funci on de transferencia H (z ) obteniendo el vector llamado RecoveredVectorImage. e) Transforme VectorImage,ProcessedVectorImage y RecoveredVectorImage a

18

Pablo Riquelme J.

Procesamiento Digital de Se nales

Tarea N 1

im agenes usando redshape y despliegue en tiempo real las tres im agenes. Soluci on Aplicando el comando reshape a los vectores VectorImage,ProcessedVectorImage y RecoveredVectorImage f) Finalmente,durante el proceso de decodicaci on utilice otra funci on de transferencia para simular el caso de una clave err onea. Comente sus resultados. Soluci on Al cambiar la funci on de transferencia H (z ) cambian los valores del vector de coecientes b. Modicando los valores del vector b se obtienen las siguientes im agenes:

Figura 17: Im agenes original, mal codicada y decodicada respectivamente (de izquierda a derecha)

Se puede apreciar que las im agenes obtenidas cambiando la funci on de transferencia, es decir, el valor del vector b por otros valores da como resultado una mala codicaci on, ya que a simple viste se puede distinguir que la segunda imagen (de izquierda a derecha) es algo m as n tida que la segunda imagen (de izquierda a derecha) de la se nal bien codicada (imagen superior).

19

Pablo Riquelme J.

También podría gustarte