20
Procesado de Se ˜ nales / M ´ aster de Ingenier´ ıa Electr ´ onica / Curso 2015-2016 Prof. Gustau Camps Valls Contacto: [email protected], http://isp.uv.es Tutor´ ıas: Lunes, 15:00. Despacho: 3.2.10 (ETSE); PCUV-IPL (3.2.4) Tema 1: Probabilidad y variables aleatorias Introducci ´ on a la probabilidad 1. Reducir la siguiente expresi ´ on para combinaci ´ on de conjuntos a la m´ ınima expresi ´ on ( A ¯ B) ( B ¯ A) 2. Emplear las leyes de deMorgan para demostrar: A ( B C)=( ¯ A ¯ B) ( ¯ A ¯ C) 3. Si compramos un d´ ecimo de la loter´ ıa de Navidad (n = 100000 n ´ umeros distintos), sabemos que nuestra probabilidad de ganar el primer premio, suceso que designaremos por A, vale P( A)= 1/n. Aqu´ ı no consideramos las series ni premios menores. Supongamos que a la ma˜ nana siguiente de celebrarse el sorteo alguien nos informa de que el boleto premiado termina en 7. Con esta informaci ´ on, ¿c´ omo se modificar´ ıa la probabilidad de ganar si nuestro n ´ umero acaba en 7 tambi´ en? 4. En la rifa del pueblo venden boletos con los n ´ umeros del 1 a 100. Supongamos que nuestro umero es el 35 y, tenemos la certeza de que el n ´ umero premiado acabar´ a en 5 (a priori). ¿C ´ omo cambia la probabilidad? 5. En una urna que contiene 5 bolas blancas y 4 negras, llevamos a cabo 3 extracciones consecu- tivas sin reemplazamiento. ¿Cu´ al es la probabilidad de que las dos primeras sean blancas y la tercera negra? Ayuda: Aplicar el Teorema de factorizaci´ on: P( A B)= P( A| B) P( B). 6. Tres urnas contienen bolas blancas y negras. La composici´ on de cada una es U 1 = {3B,1 N}, U 2 = {2B,2 N},y U 3 = {1B,3 N}. Se elige al azar una de las urnas, se extrae una bola al azar y resulta ser blanca. ¿Cu´ al es la urna con mayor probabilidad de haber sido elegida? Ayuda: Aplicar el Teorema de Bayes: P( A i | B)= P( A i B) P(B) = P(B| A i )P( A i ) i P(B| A i )P( A i ) . 7. * Estudiemos probabilidades discretas en un problema de gesti´ on de circuitos el´ ectricos: De entre n circuitos integrados m < n resultan defectuosos. Si uno de esos n chips se selecciona al azar, ¿cu´ al es la probabilidad de que sea defectuoso? Resolver para n = 100 y m = 5. Si el primer chip seleccionado es defectuoso y se descarta, ¿cu ´ al es la probabilidad de que el segundo chip seleccionado sea defectuoso? Si seleccionamos dos chips de los n disponibles, ¿cu´ ales son las probabilidades de que ambos sean defectuosos, solo uno, o ninguno de los dos lo sea? 8. * El reactor nuclear de Confrents se hace inestable si el mecanismo A y el B fallan. Las probabil- idades de fallo son P( A)= 1/300 y P( B)= 1/200. Adem´ as se sabe que si A fallara, B es m´ as probable de que falle con una probabilidad condicionada P( B| A)= 1/100. ¿Cu´ al es la probabilidad de que el reactor se haga inestable? ¿Y si B fallara? 1

Tema 1: Probabilidad y variables aleatoriasisp.uv.es/courses/ps/enunciados_lab_ps_2015.pdf · 27.La velocidad de llegada de llamadas a una centralita de conmutacion es de 1 por segundo.´

Embed Size (px)

Citation preview

Procesado de Senales / Master de Ingenierıa Electronica / Curso 2015-2016Prof. Gustau Camps VallsContacto: [email protected], http://isp.uv.es

Tutorıas: Lunes, 15:00. Despacho: 3.2.10 (ETSE); PCUV-IPL (3.2.4)

Tema 1: Probabilidad y variables aleatorias

Introduccion a la probabilidad

1. Reducir la siguiente expresion para combinacion de conjuntos a la mınima expresion

(A ∩ B) ∩ (B ∩ A)

2. Emplear las leyes de deMorgan para demostrar:

A ∩ (B ∪ C) = (A ∪ B) ∩ (A ∪ C)

3. Si compramos un decimo de la loterıa de Navidad (n = 100000 numeros distintos), sabemosque nuestra probabilidad de ganar el primer premio, suceso que designaremos por A, valeP(A) = 1/n. Aquı no consideramos las series ni premios menores. Supongamos que a lamanana siguiente de celebrarse el sorteo alguien nos informa de que el boleto premiado terminaen 7. Con esta informacion, ¿como se modificarıa la probabilidad de ganar si nuestro numeroacaba en 7 tambien?

4. En la rifa del pueblo venden boletos con los numeros del 1 a 100. Supongamos que nuestronumero es el 35 y, tenemos la certeza de que el numero premiado acabara en 5 (a priori). ¿Comocambia la probabilidad?

5. En una urna que contiene 5 bolas blancas y 4 negras, llevamos a cabo 3 extracciones consecu-tivas sin reemplazamiento. ¿Cual es la probabilidad de que las dos primeras sean blancas y latercera negra? Ayuda: Aplicar el Teorema de factorizacion: P(A ∩ B) = P(A|B)P(B).

6. Tres urnas contienen bolas blancas y negras. La composicion de cada una es U1 = 3B, 1N,U2 = 2B, 2N, y U3 = 1B, 3N. Se elige al azar una de las urnas, se extrae una bola al azary resulta ser blanca. ¿Cual es la urna con mayor probabilidad de haber sido elegida? Ayuda:Aplicar el Teorema de Bayes: P(Ai|B) = P(Ai∩B)

P(B) = P(B|Ai)P(Ai)∑i P(B|Ai)P(Ai)

.

7. ∗Estudiemos probabilidades discretas en un problema de gestion de circuitos electricos:

• De entre n circuitos integrados m < n resultan defectuosos. Si uno de esos n chips seselecciona al azar, ¿cual es la probabilidad de que sea defectuoso? Resolver para n = 100y m = 5.

• Si el primer chip seleccionado es defectuoso y se descarta, ¿cual es la probabilidad de queel segundo chip seleccionado sea defectuoso?

• Si seleccionamos dos chips de los n disponibles, ¿cuales son las probabilidades de queambos sean defectuosos, solo uno, o ninguno de los dos lo sea?

8. ∗El reactor nuclear de Confrents se hace inestable si el mecanismo A y el B fallan. Las probabil-idades de fallo son P(A) = 1/300 y P(B) = 1/200. Ademas se sabe que si A fallara, B es masprobable de que falle con una probabilidad condicionada P(B|A) = 1/100.

• ¿Cual es la probabilidad de que el reactor se haga inestable?

• ¿Y si B fallara?

1

9. Determinar si los siguientes experimentos tienen resultados discretos o continuos

• Tirar un dado

• Elegir un numero de la loterıa

• Medir la temperatura ambiente con un sensor analogico

• Determinar la hora actual en horas, minutos, segundos y AM o PM.

10. Considera un experimento con posibles salidas 1, 2, 3, . . ., a las que les asignamos probabili-dades

P(k) =12k , k = 1, 2, 3, . . .

Se pide:

• ¿Las probabilidades suman uno?

• ¿Podemos tener un numero infinito de probabilidades y asignarles probabilidad no nula?

11. Tiramos una moneda 12 veces y se observa la secuencia o, o, x, o, o, x, o, o, o, o, x, o. ¿Es unamoneda justa? Ayuda: determina si P(k) con la ecuacion de la probabilidad binomial discretaasumiendo que la probabilidad de caras es p = 1/2.

12. ∗Banach tenıa la costumbre de llevar una caja de cerillas en cada uno de los bolsillos de su cha-queta, de manera que cuando necesitaba una cerilla elegıa al azar uno de los bolsillos. Calcularlas probabilidades asociadas al numero de cerillas que habrıa en una caja cuando, por primeravez, encontrara vacıa la otra. Suponer N cerillas y que el bolsillo no vacıo contiene 0 < r ≤ Ncerillas. Revisar el concepto de variable binomial negativa.

Variables aleatorias

13. Generar un conjunto de variables aleatorias que aparecen de forma usual en ingenierıa. Entreellas destacan las que siguen una distribucion normal (instruccion randn en MATLAB) y lasque siguen una distribucion uniforme (instruccion rand). La primera es muy utilizada por elTeorema del lımite central y la segunda porque supone no establecer ninguna hipotesis a prioride la frecuencia de los procesos. Genera seis vectores de muestras (n = 10, 25, 1000 elementospara cada una de las distribuciones) que sigan estas distribuciones y determina:

• Histograma de las muestras.

• Estadısticos basicos (media, varianza, sesgo y kurtosis).

• ¿Como cambiarıas su media y varianza? Compruebalo.

14. Una aplicacion muy extendida en ingenierıa es el uso de variables aleatorias para resolver de-terminados problemas que, de otra forma, no serıa posible. Un ejemplo de esto es la estimaciondel numero π. Para ello seguiremos el siguiente procedimiento. Se dispone de una serie debolas que se lanzan sobre un cuadrado de lado unidad (ese lanzamiento lo puedes modelarcon una distribucion uniforme). Dentro de ese cuadrado existe un cırculo inscrito de radio 1/2.Demuestra que la probabilidad de que esas bolas caigan dentro del cırculo es π/4. Simulaeste procedimiento usando MATLAB y compruebalo variando el numero de bolas lanzadas100, 1000, 10000, 100000. ¿Se te ocurre un procedimiento parecido para calcular integralesdefinidas? Este procedimiento se conoce como metodo de Montecarlo.

15. Consideremos el vector aleatorio determinado por las coordenadas de un punto elegido al azaren el cıculo unidad. La densidad conjunta viene dada por fXY(x, y) = 1

π si el punto esta enel cırculo y cero si no lo esta. Por simetrıa, las marginales de X e Y son identicas y tienenla forma fX(x) = 2

π

√1− x2 si |x| ≤ 1 y cero en el resto. Comprobar que las variables son

independientes.

2

16. ∗Cuando se inicia una partida de cartas, la mano se suele decidir a la carta mas alta. Supong-amos una partida entre dos jugadores que, antes de iniciarla, extraen al azar sendas cartas paradecidir cual de los dos repartira inicialmente las cartas. Si por X designamos la mayor de lasdos cartas y por Y la menor, se pide encontrar la distribucion conjunta del vector (X, Y), lasmarginales y las condicionadas.

17. Considera un experimento aleatorio para el que S = Si : Si = −3,−2,−1, 0, 1, 2, 3 y dondelos resultados son igualmente probables. Si definimos una variable aleatoria como XSi = s2

i ,se pide encontrar Sx y la funcion de probabilidad.

Probabilidades, densidades, PDF, CDF, marginales, conjuntas y transformadas

18. ∗La salida de un rectificador de media onda viene dado por Y = g(X), donde

g(X) =

X, X ≥ 00, X < 0

Se pide determinar la densidad de probabilidad de Y en funcion de fX.

19. Analicemos que ocurre con las variables aleatorias cuando las transformamos. Uno de los prob-lemas mas importantes en probabilidad es determinar la PDF de una variable aleatoria que hasido transformada, i.e. una que es una funcion de X como por ejemplo f (X) = X2. Para ilustrarcomo cambia la PDF, se pide generar una variable aleatoria con distribucion normal mediantex=randn(1000,1) y transformarla ası x=x.^ 2. Analizar la PDF y los momentos basicos de pxy py (media, varianza, kurtosis).

20. Estima en MATLAB la PDF de X = U1−U2, donde U1 y U2 son variables aleatorias uniformes.¿Cual es el valor mas probable para el rango de los valores de X? ¿Que ocurre si X = U1U2?

21. Estima la media de la variable aleatoria uniforme U en MATLAB. ¿Cual es el valor verdadero?¿Y si consideramos ahora 2U? ¿Es cierto que la media de

√U es

√media de U?

22. ∗El teorema de la convolucion para Transformadas de Fourier dice que la convolucion de dosfunciones es el producto de sus transformadas de Fourier. Por tanto, la funcion caracterısticaΦZ(ω) para la suma de dos variables aleatorias independientes Z = X + Y es

ΦZ(ω) = ΦX(ω)ΦY(ω)

Derivar esta ecuacion, es decir, probar el teorema de convolucion.

23. Considerese el espacio muestral s = 1, 2, 3, . . . con la funcion de probabilidad asociadaP(s = n) = α/n2, y la secuencia de variables aleatorias Xn : n = 1, 2, 3, . . . definida por elespacio

Xn(s) =

n, s = n0, s 6= n

Probar que Xn converge de forma casi segura a X = 0 pero que Xn no converge en errorcuadratico, es decir, E(Xn − 0)2 no converge a cero para n→ ∞.

24. Consideremos la variable aleatoria X cuya densidad viene dada por

fX(x) =

0, x < 01/2, 0 ≤ x ≤ 11/(2x2), x > 1

Si definimos una nueva variable mediante la transformacion Y = 1/X, ¿cual es la densidad deY?

3

25. ∗Si tenemos una variable aleatoria discreta X con funcion de probabilidad

pX(xi) =

1/2 x1 = −11/4 x2 = −1/21/8 x3 = 01/16 x4 = 1/21/16 x5 = 1

Si tenemos una transformada de la variable Y = sin(πX), encontrar la funcion de probabilidadde Y.

26. Encontrar la PDF de una variable discreta X cuya CDF es

FX(x) =

0 x < 0[x]/5 0 ≤ x ≤ 51 x > 5

27. La velocidad de llegada de llamadas a una centralita de conmutacion es de 1 por segundo.La probabilidad de k llamadas en un intervalo de T segundos viene dado por una funcion deprobabilidad de Poisson donde α es igual al ratio de llegada por el periodo. ¿Que probabilidadhay de que hayan 100 llamadas en un intervalo de un minuto?

28. Se tiene un probabilidad conjunta dada por

pX,Y[i, j] =

1/4, (i, j) = (0, 0)1/4, (i, j) = (1, 1)1/4, (i, j) = (1, 0)1/4, (i, j) = (1,−1)

¿Son X e Y independientes?

29. La prediccion lineal de una variable aleatoria basada en otra es mas difıcil en presencia deruido. Vamos a considerar un modelo aditivo del ruido para simplificar el analisis. En con-creto, asumamos que queremos predecir X basados en las observaciones Z = X + N, donde Nrepresenta el ruido. Si X y N tienen media cero y no estan correladas, determinar el coeficientede correlacion entre X y Z. ¿Como depende de la potencia en X definida como EX[X2] y de lade N, EN [N2]?

Momentos, convergencia, teorema del lımite central

30. Lanzamos una moneda con una probabilidad de cara de 2/3. Si mapeamos las caras a X = 1 ylas cruces a X = 0, ¿Cual es el resultado esperado del experimento?

31. ¿Puede darse que E[X2] sea igual a E2[X]? ¿Cuando?

32. ∗Un momento central de una variable aleatoria discreta viene definido por E[(X − E[X])n],donde n es un entero positivo. Derivar una formula que relacione este momento central con loshabituales. Ayuda: usar la formula de la binomial

33. Si tenemos Y = aX + b, se pide encontrar la funcion caracterıstica de Y en funcion de X. Acontinuacion se pide demostrar que E[Y] = aE[X] + b.

34. Encontrar la funcion caracterıstica de la funcion de probabilidad px[k] = 1/5 para k = −2,−1, 0, 1, 2.

4

35. Dada una variable aleatoria multidimensional X, y su transformada lineal Y = AX, dondeA ∈ RM×N , M < N, se pide calcular la matriz de covarianza de Y en funcion de la de X, CX.

36. Generar una Gaussiana multidimensional en MATLAB compuesta de n puntos en un espaciode 5 dimensiones mediante mvnrnd. Calcular la matriz de covarianza mediante cov y compararel resultado con el teorico en funcion de n empleando norm.

37. ¿Cuales de estas matrices no puede ser de covarianza?(1 22 1

) (−1 00 −1

) (2 11 2

) (2 10 1

)38. ∗Una fuente de corriente continua saca 1A y se conecta directamente a una resistencia de 1Ω.

Si se caracteriza el comportamiento de la resistencia de acuerdo a R ∼ N (1, 0.1), ¿cual es laprobabilidad de que el voltage a traves de la resistencia este entre 0.99 y 1.01 voltios?

39. Determina la CDF para la PDF de Cauchy.

40. Una encuesta de INS dice que la renta media anual se distribuye como X ∼ N (25000, 4 · 108).¿Que porcentage de gente tiene ingresos anuales superiores a 50000 euros? Representa la PDFy CDF en MATLAB. ¿Que ocurre si en realidad no asumimos una distribucion Gaussiana sinoGamma?

41. ∗¿La siguiente funcion es una CDF valida? FX(x) =1

1 + exp(−x), −∞ < x < ∞

42. Encontrar la PDF de Y = X4 + 1 si X ∼ exp(λ).

43. Estima la media y varianza de una variable aleatoria de Rayleigh con σ2 = 1 en MATLAB.Compara el resultado con el valor teorico.

44. ∗Si (X, Y) siguen una PDF bivariada Gaussiana, encuentra P[X2 + Y2] = 10.

45. ∗Si X e Y tienen una PDF conjunta(XY

)∼ N

((12

),(

2 −1−1 2

))encuentra la PDF conjunta del vector transformado siguiente:(

WZ

)=

(1 12 3

)(XY

)46. Simula en MATLAB 1000 muestras de la Gaussiana bivariada siguiente. Ayuda: mvnrnd(

XY

)∼ N

((11

),(

1 −0.9−0.9 1

))

47. Encuentra la PDF aproximada de Y = ∑1000i=1 Xi siendo las variables Xi i.i.d. con Xi ∼ U (1, 3).

5

Tema 2: Procesos aleatorios en tiempo discreto

Analisis armonico: estacionariedad, autocorrelacion y ergodicidad

1. Ejecuta el siguiente codigo y establece si los procesos son estacionarios:

N=51;

x=randn(N,1)+0.1*[0:N-1]’;

y=sqrt(0.95.^[0:50]’).*randn(N,1);

2. Describe un proceso aleatorio que es posible encontrar en las siguientes situaciones:

• Escuchar las notıcias del tiempo

• Pagar la factura mensual de la luz

• Marcharse al trabajo por la manana

¿Porque son procesos aleatorios?

3. Para un proceso aleatorio de Bernoulli, se pide determinar la probabilidad de que observemosuna secuencia alternada de 1 y 0 para las primeras 100 muestras siendo la primera muestra un1. ¿Cual es la probabilidad de que observemos la secuencia de 1 y 0 para todos los n?

4. El proceso aleatorio i.i.d. X(n) tiene una PDF marginal px(x) = exp(−x)u(x). ¿Cual es laprobabilidad de que X(0), X(1), X(2) sean todos mayores que 1?

5. Un proceso uniform ‘blanco’ se define como un proceso aleatorio con X[n] ∼ U (−√

3,√

3) paratodos los n. Determina la media y la covarianza para este proceso aleatorio y comparalo conlas de un WGN. Explica los resultados.

6. Un proceso aleatorio llamado ‘sinusoide de amplitud aleatoria’ se define como X(t) = Acos(2πt)para −∞ < t < ∞ y A ∼ N (0, 1). Calcula las funciones de la media y la covarianza. A contin-uacion, representa en MATLAB algunas realizaciones de X(t) superpuestas.

7. Un proceso aleatorio X(n) para −∞ < t < ∞ consiste de variables aleatorias independientescon

X(n) =

N (0, 1) n imparU (−√

3,√

3) n par

¿Se trata de un proceso estacionario en sentido amplio (WSS)? ¿Y simplemente estacionario?

8. Para la secuencia rx[k] = ab|k| para −∞ < k < ∞, se pide determinar los valores de a y b quehacen que sea una secuencia de autocorrelacion valida.

9. Un proceso aleatorio se define como X[n] = AU[n], donde A ∼ N (0, σ2) y U[n] es ruido blancocon varianza σ2. La variable A es independiente de todas las muestras de U[n]. Determina ladensidad espectral de potencia (PSD) de X[n].

10. Un proceso aleatorio se define como X[n] = U[n] + µ, para −∞ < n < ∞, donde U[n] es ruidoblanco de varianza σ2. Calcular y representar en MATLAB la secuencia de autocorrelacion y ladensidad espectral de potencia (PSD).

11. Una PSD viene dada por Px( f ) = a + b cos(2π f ). ¿Que valores deben tener las constantes a y bpara que sea una PSD valida?

12. Para la PSD Px(F) = exp(−|F|), determina la potencia media en la banda [10,100] Hz.

6

13. Tenemos un circuito RC con la siguiente respuesta en frecuencia

H(F) =1/RC

1/RC + j2πF

que se emplea para filtrar un proceso aleatorio cuya funcion de autocorrelacion ACF es rU(τ) =(N0/2)δ(τ). Encontrar la potencia media total a la salida del filtro. ¿Es infinita?

14. Se definimos un proceso aleatorio como Z[n] = X[n]− Y[n], donde X[n] e Y[n] son conjunta-mente WSS, calcular la ACS y PSD de Z[n].

15. Encuentra la probabilidad de 6 llegadas de un proceso aleatorio de Poisson en el intervalo detiempo [7, 12] si λ = 1. A continuacion determina el numero medio de llegadas para ese mismointervalo.

16. Los taxis en el aeropuerto llegan con una velocidad de 1 por minuto a la parada. Si una personalleva esperando 10 minutos, ¿cual es la probabilidad de que tenga que esperar menos de unminuto adicional?

17. Interpreta los resultados de:

[acf,lags,bounds] = autocorr(y);

x=randn(1,1000);

plot(x);

hist(x,100);

plot(autocorr(x));

18. Interpreta los resultados de:

y = sin(1:(2*pi/1000):2*pi) + 0.1*randn(1,1001);

[acf,lags,bounds] = autocorr(y);

19. Interpreta los resultados de:

% Random sequence of 100 Gaussian deviates and a delayed

% version lagged by 4 samples

x = randn(100,1); % 100 Gaussian deviates N(0,1)

y = lagmatrix(x,4); % Delay it by 4 samples

y(isnan(y)) = 0; % Replace NaN’s with zeros

plot(x,’b’);hold on,plot(y,’r’)

crosscorr(x,y) % It should peak at the 4th lag

20. Analiza la estacionariedad y periodicidad de la serie de manchas solares. Para ello se proponerealizar un analisis en el dominio de Fourier y un periodograma:

load sunspot.dat

year=sunspot(:,1);

relNums=sunspot(:,2);

figure, plot(year,relNums)

title(’Sunspot Data’)

figure, autocorr(relNums)

Y = fft(relNums);

7

Y(1)=[];

n=length(Y);

power = abs(Y(1:floor(n/2))).^2;

nyquist = 1/2;

freq = (1:n/2)/(n/2)*nyquist;

figure, plot(freq,power)

xlabel(’cycles/year’)

title(’Periodogram’)

period=1./freq;

figure, plot(period,power);

ylabel(’Power’);

xlabel(’Period (Years/Cycle)’);

¿Que conclusiones puedes extraer de los analisis en los distintos dominios?

21. Genera un proceso aleatorio i.i.d. normal (“ruido blanco”) usando la instruccion randn con1000 muestras con 1000 datos cada una. Se pide:

• Comprueba que es un proceso estacionario en sentido amplio. ¿Cual es su valor medio ysu correlacion?

• ¿Es ergodico en la media? Demuestralo usando MATLAB.

Estimacion y analisis de densidades (univariadas) en MATLAB

1. Analiza y describe que hace el siguiente codigo:

p = 0.2; % Probability of success for each trial

n = 10; % Number of trials

k = 0:n; % Outcomes

m = binopdf(k,n,p); % Probability mass vector

bar(k,m) % Visualize the probability distribution

set(get(gca,’Children’),’FaceColor’,[.8 .8 1])

grid on

2. Cargar la distribucion pre-existente en el fichero de MATLAB carsmall. Representar el his-tograma de la variable MPG, y estima la densidad con la funcion ksdensity para distintosparametros de suavidad: puedes jugar con distintos nucleos y anchuras.

3. Genera una variable aleatoria con distribucion normal con media µ = 10 y desviacion estandarσ = 2 con n = 100 puntos. Representa en el mismo grafico la CDF empırica y la teorica.Comprobar como nos aproximamos a la real al aumentar n.

4. Analiza el siguiente codigo:

y = evrnd(0,3,100,1);

cdfplot(y)

hold on

x = -20:0.1:10;

f = evcdf(x,0,3);

plot(x,f,’m’)

5. Analiza las funciones de MATLAB que permiten comparar distintas distribuciones: hist, histfit,probplot, qqplot, normplot. Estudia y modifica para ello el ejemplo:

8

x1 = wblrnd(3,3,100,1);

x2 = raylrnd(3,100,1);

probplot(’weibull’,[x1 x2])

legend(’Weibull Sample’,’Rayleigh Sample’,’Location’,’NW’)

6. La CDF es una forma directa de comparar similitudes y diferencias entre distintas variablesaleatorias (por ejemplo imagina que estas son resultados de distintos experimentos o mode-los). Analizar el codigo siguiente. ¿Que hace kstest2? ¿Se te ocurre alguna forma sencilla decomparar las CDFs? Programala.

x = -1:1:5

y = randn(20,1);

[h,p,k] = kstest2(x,y)

F1 = cdfplot(x);hold on;F2 = cdfplot(y)

7. Analiza las funciones de MATLAB que permiten explorar y ajustar distribuciones: disttool ydfittool.

El problema del sonar

Se nos proporcionan datos de un sonar en un vehıculo subacuatico en el fichero sonardata4.mat yse pide:

1. Analizar la estacionariedad de las senales en sentido amplio.

2. ¿Se trata de variables distribuidas de forma Gaussiana?

3. Estudiar la correlacion e independencia entre las variables.

4. Estimar la densidad de probabilidad de la parte real e imaginaria asumiendo una distribucionGaussiana y una Rayleigh. Extraer conclusiones.

5. ¿Existe dependencia/correlacion entre las partes real e imaginaria?

Aplicaciones y ejemplos de procesos aleatorios

1. Un proceso aleatorio es el conocido como paseo aleatorio (random walk) definido como Yn =Yn−1 + Xn donde Xn es un proceso de Bernouilli definido como:

Xn =

1 con probabilidad p−1 con probabilidad q

donde q = 1− p. Simula diferentes realizaciones de este proceso para p = 1/4, 1/2, 3/4.Suponemos que el valor de Y0 = 1. Determina usando MATLAB diferentes realizaciones deeste proceso para los valores anteriores de p. ¿se mantiene constante la varianza con el tiempo?

Autocorrelacion

1. Determina una simple realizacion de un proceso aleatorio de tipo i.i.d. usando la instruccionrandn que contenga 1000 puntos. Determina la secuencia de autocorrelacion usando la in-struccion xcorr y comprueba el funcionamiento de esta instruccion con y sin la opcion ‘unbiased’.Una instruccion que es similar a la anterior es autocorr en la que se muestra los intervalos deconfianza de los resultados obtenidos. Existe otra instruccion que se utiliza en la identificacionde sistemas que es la correlacion parcial (en MATLAB la instruccion es parcorr). Determinaesta magnitud para el proceso generado y estudia su significado.

9

2. Podemos usar la expresion que relaciona la correlacion cruzada entre la salida de un sistemaLTI y la entrada correspondiente ryx(l) = h(l) ∗ rxx(l) para identificar sistemas. En efecto, sila entrada es i.i.d. y con una determinada varianza σ2, entonces la anterior expresion se con-vierte en ryx(l) = h(l)σ2 por lo que se puede obtener la respuesta impulsional del sistema comoh(l) = ryx(l)/σ2. Comprueba esta expresion con el siguiente codigo:

>> B=1;

>> A=[1 -2*0.9*1/2 0.81];

>> h=impz(B,A,50);

>> x=randn(1,1000);

>> y=filter(B,A,x);

>> z=xcorr(y,x);

>> plot(z(1000:1050))

>> h=impz(B,A,50);

>> hold on

>> plot(h,’k’)

10

Tema 3: Estimacion espectral

Analisis espectral mediante la DFT

1. En este apartado comenzaremos por analizar la herramienta basica de analisis espectral que esla Transformada Discreta de Fourier (DFT) que en MATLAB se implementa con los algoritmosrapidos (Fast Fourier Transform, FFT). El primer punto a estudiar es la resolucion de una DFT.Hay que distinguir aquı dos tipos de resolucion: la fısica y la “operacional” (tambien llamada‘funcional’). Si se tiene una senal de longitud L y se esta trabajando con un periodo de muestreoT, la mınima frecuencia que se podra discernir sera aquella cuyo periodo sea, precisamente,L · T. Sin embargo, en una DFT la resolucion es igual a la frecuencia de muestreo dividida porel numero de puntos. Tenemos entonces que ∆ f f isica = fm

L y ∆ fDFT = fmN . Veamos la diferencia

entre ellas mediante un sencillo ejemplo:

clear;close all;clc;

f1=90; f2=100; f3=240; f4=360;

Fm = 1000;

tt = 25;

N = 25;

t = (Fm*tt)*0.001; % eje de tiempos

x1 = cos(2*pi*(F1/Fm)*(0:t-1)) + cos(2*pi*(F2/Fm)*(0:t-1));

x2 = x1 + cos(2*pi*(F3/Fm)*(0:t-1))+cos(2*pi*(F4/Fm)*(0:t-1));

y = fft(x2); % FFT de la senyal

% Generamos el eje X para interpretar frecuencias

t1 = (0:tt-1)*Fm/tt;

figure(1)

stem(t1,abs(y),’*-r’);

yy = fft(x2,N);

hold on

t2=(0:N-1)*Fm/N;

stem(t2,abs(yy),’+-k’)

legend([’L=’ num2str(tt), ’ N=’ num2str(tt)],[’L=’ num2str(tt),’ N=’ num2str(N)])

axis([0 Fm/2 0 max([abs(y) abs(yy)])]);

grid

hold off

En este programa tomaremos 1KHz como frecuencia de muestreo con un intervalo de muestreode 25 ms.

• En primer lugar consideraremos que el orden de la DFT es igual al de la longitud de lasenal, N = L. ¿Son discernibles todas las componentes sinusoidales de la senal?• Fijando la longitud de la senal (esos 25 ms) aumentaremos el orden de la DFT, ¿podemos

discernir las sinusoides de 90 y 100 Hz?• Ahora aumentaremos el tiempo de muestreo a 100 ms. Ejecuta ahora el programa con-

siderando la DFT del mismo orden que la longitud de la senal, ¿que ocurre ahora?• Aumenta el orden de la DFT, ¿que ocurre?

2. Hemos visto los problemas que nos encontramos cuando la resolucion fısica no es lo suficiente-mente pequena para poder determinar una sinusoide. Sin embargo podemos tener otro prob-lema: ¿que ocurre cuando esta resolucion fısica es suficiente pero la frecuencia de las compo-nentes no es un multiplo de la frecuencia unidad de la DFT, ∆ f f isica =

fmN .

11

• Representa graficamente una sinusoide de frecuencia 10 Hz muestreada a 1000 Hz duranteun periodo de 250 ms. Fıjate en los puntos iniciales y finales de dicha onda. Determinaahora la DFT de esa senal con N = L, ¿que ocurre?. El efecto que aparece se conoce como“goteo espectral” (spectral leakage) y es debido a que las componentes sinusoidales no secorresponden con multiplos de la frecuencia fundamental de la DFT.

3. Para evitar este problema se plantea el uso de una ventana; de forma indirecta ya la estamosutilizando pues al determinar una DFT “multiplicamos” por la ventana rectangular definidacomo

w(n) =

1 0 ≤ n ≤ L− 10 otro caso

Una multiplicacion en el dominio temporal (que es lo que se hace al enventanar) supone unaconvolucion en el dominio frecuencial por lo que las caracterısticas frecuenciales de la senalquedan, logicamente, condicionadas por dicha ventana. Existen otras ventanas que tienden aevitar ese “goteo espectral”. MATLAB tiene implementadas varias; las que estudiaremos seranla rectangular (boxcar), triangular (triang) la de Hamming, etc. Visualızalas y utiliza el co-mando freqz para determinar su respuesta en magnitud y fase. La relacion entre la gananciade los 2 primeros lobulos da la capacidad de la ventana para reducir el goteo espectral mien-tras que la amplitud del primer lobulo define la resolucion de la ventana (a menor amplitudmayor resolucion). Una vez vistas sus caracterısticas frecuenciales enventanaremos la ultimasinusoide antes de determinar su DFT. ¿Que se obtiene ahora? ¿Que ocurre con todas las com-ponentes “ficticias” asociadas al goteo espectral?

4. Por lo visto anteriormente estarıamos dispuestos a enventanar siempre una senal antes dedeterminar su DFT, pero, ¿no se paga nada a cambio? La respuesta, lamentablemente, es sı:perdemos resolucion. Para comprobarlo determina la DFT (con N = L) de la siguiente senalsin enventanar (aunque realmente aplicamos la ventana rectangular) y aplicando la ventana deHamming:

x(n) = cos(2π f1n/ fm) + cos(2π f2n/ fm),

con f1 = 100 Hz, f2 = 110 Hz, fm = 1000 Hz, n = 0, . . . , 99.

Analisis espectral no parametrico

1. A los problemas anteriormente mencionados de analisis espectral de senales usando la DFT seanade ahora el hecho de tratar con senales aleatorias. En primer lugar se analizaran los metodosno parametricos vistos en teorıa comenzando por el periodograma. Para ello analizaremosinicialmente un proceso consistente en una sinusoide con ruido de tipo i.i.d. (media cero yvarianza unidad). Para ello se usara el siguiente codigo que implementa el periodograma:

clear;clc;close all;

N=input(’Tama~no de la se~nal ’);

fm=input(’Frecuencia de muestreo ’);

x=randn(1,N);

Px=(1/N)*((abs(fft(x))).^2);

frec=0:fm/N:(0.5*fm)-(fm/N);

plot(frec,10*log10(Px(1:fix(N/2))))

grid

A partir de este codigo determina:

• El periodograma de este proceso considerando diferentes longitudes (64, 256, 512 y 1024).¿Se reduce la varianza de la estimacion al aumentar N? Recuerda que este proceso tieneun espectro plano. ¿Mejora la estimacion del periodograma si enventanamos la senal antesde realizarlo? Compruebalo usando una ventana de Hanning.

12

• Considera diferentes realizaciones del proceso (L), calcula el periodograma de todos ellosy realiza un promedio de ellos representando dicho promedio (en dB). Considera L=10, 50y 100 con N=256.• Repite los apartados anteriores considerando como entrada a analizar la suma de dos sinu-

soides de frecuencias analogicas de frecuencias 100 Hz y 110 Hz (frecuencia de muestreode 1 KHz) que se ven afectadas por ruido de tipo i.i.d. de valor medio cero y varianzaunidad. Considera 100, 500 y 1000 puntos; ¿que observas si enventanas o no con 100 pun-tos?

2. El siguiente programa muestra el analisis de una serie temporal usando un periodograma. Eje-cuta el siguiente codigo e intenta comprender lo que hace.

load sunspot.dat

anyo=sunspot(:,1);

serie=sunspot(:,2);

plot(anyo,serie)

title(’Serie Sunspot’)

pause

Y = fft(serie);

Y(1)=[];

n=length(Y);

potencia = abs(Y(1:floor(n/2))).^2;

nyquist = 1/2;

freq = (1:n/2)/(n/2)*nyquist;

plot(freq,potencia)

xlabel(’ciclos/anyo’) title(’Periodograma’)

3. Implementa una funcion en MATLAB que implemente el metodo de Bartlett para determinar elanalisis espectral de una senal. Los parametros a pasar son la senal y el numero de segmentosa considerar en la senal a la hora de determinar los periodogramas. Usa esta funcion paraanalizar el proceso que consiste en la siguiente suma:

x(n) = 3 cos(0.2πn) + cos(0.4πn) + v(n),

siendo v(n) un proceso i.i.d. de valor medio cero y varianza unidad con N = 1024. Considerauna division de 4 y 16 bloques de la senal.

4. MATLAB dispone de una instruccion para implementar metodos parametricos y no parametricosde analisis espectral llamada spectrum. La manera de utilizar es definir un “objeto espectral”en MATLAB dependiendo del analisis a realizar (usa la ayuda de la instruccion). Un ejemplodel uso de esta instruccion viene dada por el siguiente codigo (no aparece el ‘;’ al final para queveas lo que va generando cada instruccion):

h=spectrum.welch

h

h=spectrum.welch(’hamming’,128,40)

El siguiente codigo muestra el analisis espectral de una senal usando MATLAB mediante elperiodograma de Welch. Aparece la instruccion psd que es la encargada de realizar el analisisespectral con el metodo establecido en la instruccion spectrum.

Fs=10000; % frecuencia de muestreo

t=0:(1/Fs):1; % vector temporal

y=0.4*cos(2*pi*1500*t)+0.2*sin(2*pi*2500*t)+randn(size(t)); %%se~nal generada

h=spectrum.welch;

Hpsd = psd(h,y,’Fs’,Fs)

plot(Hpsd)

13

Considera el siguiente proceso aleatorio: y(n) = v(n) + 1.5y(n− 1)− 0.64y(n− 2) donde v(n)es un proceso i.i.d. de media cero y varianza unidad. Determina:

• El espectro correspondiente a este proceso aplicando la expresion P(ejω) = σ2|H(ejω)|2con la ayuda del comando freqz de MATLAB.

• Obten una realizacion de dicho proceso (1000 muestras) y analızala usando el periodogramay el metodo de Welch usando la instruccion spectrum y psd. Comparalos con el anterior.¿Que puedes comentar?

5. Calcular el periodograma, o espectro de tiempo finito, de una senal sinusoidal inmersa enruido.

Fs = 1000;

t = 0:1/Fs:.3;

x = cos(2*pi*t*200)+0.1*randn(size(t));

periodogram(x,[],’onesided’,512,Fs)

Ahora programa un algoritmo detector de ese armonico y representa el error de deteccion frentea la SNR[dB].

6. Genera un proceso ARMA mediante filtrado de ruido blanco. Se pide seguir los pasos sigu-ientes para el analisis del sesgo y del ‘spectral leakage’ del periodograma:

(a) Compara en la misma grafica la PSD obtenida por el periodograma y el resultado teorico.Promedia los resultados para 40 realizaciones con tal de reducir la varianza.

(b) Repite el experimento anterior para tamanos de ventana mayores: N = 100 y N = 1000.Comenta los resultados.

(c) Reproduce las graficas de las trasparencias en las que se mejoran los resultados de tresmaneras diferentes:

• Bias reduction by ‘tapering’: The modified periodogram• Variance reduction by ‘smoothing’ (averaging): Welch-Bartlett method y Blackman-

Tukey method• Bias-Variance reduction by ‘smoothing+averaging’: the multitappering

(d) Se pueden emplear las funciones de MATLAB: pwelch, pcov, pburg, pyulear, pmtm, dpss

Analisis espectral parametrico

1. En estos modelos los pasos a seguir son los siguientes:

(a) Se preprocesan los datos, en esta etapa se elimina el valor medio, posibles tendencias(lineales por ejemplo), tramos con ruido, etc.

(b) Se selecciona la estructura (AR, MA, ARMA) que mejor represente la serie utilizando auto-correlaciones y correlaciones parciales. Los modelos mas usados son los AR y ARMA. Deellos el AR se utiliza mas debido a la existencia de algoritmos mas eficientes para obtenerlos parametros.

(c) Obtencion del orden del modelo para ello se usan diferentes criterios que minimizan lavarianza del error (diferencia entre la senal y lo obtenido por el modelo y una medidaque crece con el orden del modelo (de esta manera los modelos con muchos parametrosse penalizan). Algunos de estos criterios son el Final Prediction Error (FPE) de Akaike, elAIC (Akaike Information Error) o el MDL (Minimum Description Length). Con la ayudade la instruccion aryule vamos a estimar el orden de un modelo usando el criterio FPE.Para ello ejecuta el siguiente programa

14

NN=1024;

x=randn(1,NN);

B=1;

A=conv([1 -0.9 0.81],[1 0.9 0.81]);

y=filter(B,A,x);

L=input(’Lımite superior para el orden del modelo?’);

FPE=zeros(1,L-1);

for k=2:L

[p,v]=aryule(y,k);

FPE(k-1)=(NN-1)*v*(NN+k+1)/(NN-k-1);

end

stem(2:L,FPE)

¿Que obtienes como mınimo? Implementa los otros metodos comentados y observa si llegasal mismo resultado. Una vez obtenido el modelo se puede obtener la representacion espectralusando la instruccion freqz. El siguiente codigo aprovecha lo obtenido en el apartado anterior:

NN=1000;

B=1;

A=conv([1 -0.9 0.81],[1 0.9 0.81]);

x=randn(1,NN);

y=filter(B,A,x);

[h,w]=freqz(B,A,fix(NN/2));

hh=pyulear(y,4,NN);

plot(w/pi,10*log10(abs(h).^2),’k’);

grid

figure

plot(w/pi,10*log10(var(y)*hh(1:fix(0.5*NN))));

grid

¿Que ocurre si aumentas mucho el orden del modelo anterior? ¿Y si consideras un orden infe-rior al obtenido como optimo? Existen otras instrucciones para estimar los modelos AR usandootros metodos: como pcov y pburg. Comprueba los resultados obtenidos anteriormente usandoestas instrucciones.

Como se ha comentado anteriormente, los modelos AR se utilizan mas que los ARMA por lafacilidad para la obtencion de los parametros de los modelos. Los modelos autorregresivospueden conseguir una modelizacion ARMA usando mas terminos. Comprueba este hechogenerando y analizando el siguiente proceso ARMA

y(n) = x(n)− 3x(n− 1) + 4x(n− 2) + 0.8y(n− 1)− 0.64y(n− 2),

siendo x(n) un proceso i.i.d. de media cero y varianza unidad.

2. Analiza las ventajas e inconvenientes de los metodos de estima espectral parametrica basadosen la covarianza, de Burg y de Yule. ¿Como afecta a cada uno de ellos la longitud de la secuen-cia, el orden N y el tipo de filtro FIR/IIR?

% Define AR filter coefficients

a = [1 -2.2137 2.9403 -2.1697 0.9606];

[H,w] = freqz(1,a,256); % AR filter freq response

% Scale to make one-sided PSD

Hp = plot(w/pi,20*log10(2*abs(H)/(2*pi)),’r’);

hold on;

15

randn(’state’,1);

x = filter(1,a,randn(256,1)); % AR system output

[Pcov,W] = pcov(x,4,511);

[Pyulear,W] = pyulear(x,4,511);

[Pburg,W] = pburg(x,4,511);

pburg(x,4,511);

plot(W/pi,20*log10(Pcov),’b’)

plot(W/pi,20*log10(Pyulear),’k’)

plot(W/pi,20*log10(Pburg),’m’)

xlabel(’Normalized frequency (\times \pi rad/sample)’)

ylabel(’One-sided PSD (dB/rad/sample)’)

legend(’Model’,’Covariance’,’Yule’, ’Burg’)

grid

3. Estudia el algoritmo MUSIC de deteccion de armonicos. Estudia para ello el siguiente ejemplo,modificando los niveles de ruido aditivo y la posicion (cercana/lejana) de distintos armonicospara facilitar/dificultar la deteccion.

randn(’state’,0);

n = 0:199;

x = cos(0.257*pi*n) + sin(0.2*pi*n) + 0.01*randn(size(n));

pmusic(x,4) % Set p to 4 because two real inputs

16

Tema 4: Descomposicion de senales y transformadas

1. En este primer apartado se trata de observar y analizar el efecto de la escala sobre el compor-tamiento temporal y frecuencial de la wavelet. El siguiente script considera como wavelet laque se conoce como sombrero mexicano. Ejecutalo e intenta razonar lo que se obtiene:

clear

clc

close all

a=input(’Factor de escala ’);

X=linspace(-5,5,100);

c = 2/(sqrt(3)*pi^(1/4))

wavelet=c * exp(-(X.^2)/2).*(1-(X.^2));

subplot(2,2,1);

plot(X,wavelet);

xlabel(’Tiempo ’);

[aa,bb]=freqz(wavelet,1);

subplot(2,2,2)

plot(bb,abs(aa));

xlabel(’Frec. normalizada ’);

ylabel(’Espectro ’);

X1=X/a;

subplot(2,2,2)

wavelet1=c * exp(-(X1.^2)/2).*(1-(X1.^2));

subplot(2,2,3)

plot(X,wavelet1);

xlabel(’Tiempo ’);

[aa,bb]=freqz(wavelet1,1);

subplot(2,2,4)

plot(bb,abs(aa));

xlabel(’Frec. normalizada ’);

ylabel(’Espectro ’);

2. Otras wavelets implementadas en MATLAB son accesibles a traves del GUI de la librerıa dewavelets usando la instruccion wavemenu. Posteriormente se pulsa en la opcion wavelet displayque aparece en la parte inferior del menu. En la nueva pantalla grafica nos apareceran lasdiferentes familias implementadas ası como informacion sobre las caracterısticas propias decada familia. Ademas, en alguna de ellas, aparece la expresion matematica que da lugar a esawavelet. Observa algunas de las funciones implementadas y sustituye, en el programa anterior,la expresion de la wavelet por la funcion de Morlet y observa el resultado del script sobre dichafuncion (ahora la variacion de la funcion es sobre -4 y 4).

3. En el tercer ejercicio se analizara una determinada senal mediante la Transformada WaveletContinua, comando cwt. Ejecuta el siguiente codigo e intenta interpretar los resultados obtenidos:

clear

clc

close all

t=linspace(0,6*pi,512);

signal=sin(t);

transf=cwt(signal,1:32,’mexh’);

X=linspace(-5,5,100);

c = 2/(sqrt(3)*pi^(1/4))

wavelet=c * exp(-(X.^2)/2).*(1-(X.^2));

17

subplot(3,1,1)

imagesc(transf);

colormap(’hot’);

subplot(3,1,2)

plot(signal);

axis([0 512 -1 1])

subplot(3,1,3)

plot(X,wavelet);

• Modifica el programa pero usando como escalas los valores de 1 a 100. ¿Que ocurre si losfactores de escala los tomamos de 50 a 60?

• Modifica el programa para usar como wavelet madre la funcion de Morlet f (t) = exp(−0.5t2)· cos(5t) (representala en el rango -4 a 4). La funcion a usar en el comando cwt es ‘morl’.Otras posibilidades las tienes a traves de la instruccion waveinfo de MATLAB.

• Modifica el programa para analizar la senal f (t) = 1+ sin(πt+ t2)/8 usando las funcioneswavelets anteriormente mencionadas (rango de la senal de 0 a 2π y prueba escalas de 1 a100 y de 1 a 5). Por ultimo analiza la funcion chirp dada por f (t) = sin(t2).

• En esta parte se analizara la senal volcano.mat (es un sismograma) de las islas Kermadecy recogido en North Island (Nueva Zelanda). Carga la senal y analızala usando diferentesescalas y wavelets; ¿que observas?

• Carga la senal ecg.mat y determina su descomposicion usando diferentes escalas y difer-entes funciones wavelets y diferentes escalas (prueba con escalas menores que 1) ¿Queconclusiones sacas?

4. Aquı se analizara la descomposicion de una senal en diferentes niveles usando wavelets (analisismultiresolucion). El siguiente programa implementa dicha descomposicion para una senal uni-dimensional.

load noisbump.mat;

sig=noisbump;

[c,l]=wavedec(sig,3,’sym3’);

ap3=appcoef(c,l,’sym3’,3);

ap2=appcoef(c,l,’sym3’,2);

ap1=appcoef(c,l,’sym3’,1);

d3=detcoef(c,l,3);

d2=detcoef(c,l,2);

d1=detcoef(c,l,1);

subplot(4,2,1);plot(sig);

subplot(4,2,3);plot(ap1);

subplot(4,2,4);plot(d1);

subplot(4,2,5);plot(ap2);

subplot(4,2,6);plot(d2);

subplot(4,2,7);plot(ap3);

subplot(4,2,8);plot(d3);

Esta aplicacion se puede hacer desde el GUI de MATLAB para la librerıa de wavelets como severa a continuacion.

5. En este apartado se plantea una aplicacion de eliminacion de ruido usando wavelets. El procesoserıa descomponer la senal en una serie de niveles como se vio en teorıa. Seguidamente sedefine un umbral eliminando todos aquellos coeficientes por debajo de dicho umbral. El ultimopaso es reconstruir la senal a partir de los ultimos coeficientes obtenidos. Para la aplicacionpractica se usara el GUI de MATLAB para wavelets que se obtiene con la instruccion wavemenu.

18

En el menu desplegable se escoge la opcion Wavelet 1-D. Seguidamente se escoge las opcionesfile y load para cargar la senal red 60.mat (ECG con ruido de red). Selecciona un nivel dedescomposicion de 5 y la familia de wavelets db (Daubechies). Pulsa la opcion ‘De-noise’ y, enla nueva pantalla, escoge diferentes umbrales para eliminar los coeficientes correspondientesa la descomposicion de los detalles; observa la senal obtenida. Repite el procedimiento paradiferentes familias de wavelets, niveles y umbrales.

6. Tratemos ahora la compresion de senales. El procedimiento es similar a la eliminacion de ruido,pero la diferencia estriba en la determinacion del umbral. Se sigue la mima secuencia que en elapartado anterior salvo que, ahora, la opcion escogida es Compress. En la nueva pantalla se fijael umbral a partir del cual vamos a desestimar los coeficientes de la descomposicion waveletmostrandose, al final, la senal comprimida. Al igual que en apartados anteriores prueba paradiferentes familias y umbrales.

7. Explica el siguiente codigo:

s = sin(20.*linspace(0,pi,1000)) + 0.5.*rand(1,1000);

[cA,cD] = dwt(s,’db2’);

figure,plot(s),

figure,plot(cA),

figure,plot(cD),

% Full inverse reconstruction

ss = idwt(cA,cD,’db2’); figure,plot(s),hold on, plot(ss,’r’)

% Sparse inverse reconstruction (from the LF approximation)

ss = idwt(cA,zeros(1,501),’db2’); figure,plot(s),hold on, plot(ss,’r’)

% Sparse inverse reconstruction (from the HF details)

ss = idwt(zeros(1,501),cD,’db2’); figure,plot(s),hold on, plot(ss,’r’)

8. Una aplicacion tıpica en procesado de imagenes es la fusion. Ejecuta el siguiente codigo ycontesta a las preguntas:

• ¿Como afecta el nivel de detalle de la descomposicion?

• ¿Que impacto tiene el ruido aditivo en la sıntesis? ¿Y si este fuera multiplicativo? Jugarcon la funcion de MATLAB imnoise.

% Load two fuzzy versions of an original image

load cathe_1; X1 = X;

load cathe_2; X2 = X;

% Merge the two images from wavelet decompositions at level 5

% using sym4 by taking the maximum of absolute value of the

% coefficients for both approximations and details

XFUS = wfusimg(X1,X2,’sym4’,5,’max’,’max’);

% Plot original and synthesized images

colormap(map);

subplot(131), image(X1), axis square, title(’Catherine 1’), axis off

subplot(132), image(X2), axis square, title(’Catherine 2’), axis off

subplot(133), image(XFUS), axis square, title(’Synthesized image’), axis off

19

Tema 5: Teorıa de la informacion (bonus track)

1. Programar una funcion en MATLAB que calcule la entropıa de una secuencia de longitud ar-bitraria N, ajustando el numero de bins Nb =

√N para la estimacion de la probabilidad, y

teniendo en cuenta los casos crıticos de p = 0. Ademas, corregir la estima mediante la cor-reccion de Miller-Maddow (bias correction)

2. Comparar la entropıa de una senal sinusoidal y su version corrompida con ruido gaussiano.

3. Calcula la entropıa de una Gausiana unidimensional de forma analıtica, y la entropıa conjuntade una Gaussiana multidimensional (hiperesfera).

4. Generar tres variables correladas y dependientes (correlacion de mayor orden, no lineal). Com-para el coeficiente de correlacion y la informacion mutual en ambos casos.

5. Ilustra en MATLAB las propiedades basicas de la divergencia de Kullback-Leibler: la asimetrıay la propiedad Pitagoriana.

6. Programa una funcion que calcule la negentropıa marginal.

7. Calcula negentropıa, i.e. divergencias respecto una Gaussiana.

8. Programa una funcion que implemente la Jensen-Shannon divergence. ¿Se te ocurre algunaidea para simetrizarla?

9. Emplea la entropıa condicionada para la combinacion de clasificadores automaticos.

20