Você está na página 1de 3

Introduccin al Procesamiento de Se ales - A o 2012 o n n

Prctica con Utilitario 2 a

Introduccin o
En la materia Introduccin al Procesamiento de Seales se puso nfasis en la utilizacin de la o n e o herramienta informtica Matlab como complemento del espacio de prctica, considerando que en a a primer trmino la misma brinda grandes ventajas en el aprendizaje de los temas de la materia, y en e segundo trmino el manejo de la herramienta en s misma es de provecho para un profesional vinculado e al procesamiento de seales. n Por otra parte, consideramos que la capacidad de presentar resultados de una manera ordenada, para que puedan ser interpretados por un tercero no debe ser ajena a la formacin de todo profesional, y o mucho menos de un profesional de la Ingenier a. Este trabajo con utilitario se enfoca en la utilizacin del algoritmo FFT (algoritmo rpido de la TDF) o a para el anlisis en frecuencia de seales y para economizar operaciones en el clculo de la convolucin a n a o de seales. En particular, dado que en el conjunto de herramientas que provee MATLAB se encuentra n la funcin de clculo de la FFT, se opta por la utilizacin de dicho utilitario. o a o Para ello se provee una serie de funciones en archivos de tipo .p. Estos archivos son archivos .m encriptados de modo que no puede verse su contenido. Desde el punto de vista de su ejecucin, son o similares a los .m. Una salvedad es que los mismos no permiten denir comentarios de retorno cuando se escribe, por ejemplo, help nombreArchivo. En su lugar, para los mismos se dene que impriman en pantalla los comentarios de ayuda cuando se los llame con un unico parmetro h. Los archivos a provistos son: - sinusoides.p: Seales sinusoidales (Ejercicio 1). Para ver los detalles, en la ventana de comando n escribir sinusoides(h) - codigopr.p: Generacin de seal tipo cdigo pseudo-aleatorio (Ejercicio 2). Para ver los detalles, en o n o la ventana de comando escribir codigopr(h)

El alumno debe resolver las consignas planteadas y entregar: - Un breve informe con los procedimientos utilizados (por ejemplo listado de comandos), los resultados conseguidos (por ejemplo grcas de las seales) y las conclusiones obtenidas. Este informe puede ser a n entregado en formato impreso o enviado por mail a la casilla que se detalla ms abajo, respetando a la fecha l mite. - TODOS los scripts de Matlab utilizados en la resolucin, de manera que los resultados obtenidos o puedan ser reproducidos por un tercero. Los mismos deben ser comprimidos en un archivo .zip cuyo nombre identique al alumno que lo realiz, y enviados por mail a la casilla que se detalla ms abajo, o a respetando la fecha l mite. El trabajo es individual. En caso de detectarse copias los trabajos sern desaprobados. a La fecha l mite de entrega es el d 14 de Febrero de 2013 a las 17 hs. a Los scripts de Matlab (y el informe, si se opta por entregarlo en versin electrnica) deben ser enviados o o a las siguientes dos casillas de correo: 1

jorge.cogo@ing.unlp.edu.ar javier.smidt@ing.unlp.edu.ar El asunto del correo debe contener el texto [ips-lab2]

Consejo
Para insertar grcos hechos con Matlab en documentos de Word, un mtodo rpido y relativamente a e a seguro es el siguiente: 1. En Matlab ingrese el comando print -f1 -dpng figurita, esto generar en el directorio actual el a archivo grco figurita.png. El nmero que sigue a la opcin -f es el nmero de la gura de Matlab a u o u que se exportar. a 2. Desde Word inserte la gura (Insertar imagen desde archivo). En general es conveniente que la gura no ote sobre el texto.

Ejercicio 1
La funcin sinusoides.p retorna N valores de una seal muestreada cada Ts segundos. Se sabe que o n dicha seal es la suma de dos sinusoides, cuya frecuencia mxima se sabe que es inferior a 1 kHz n a 1. Determine el valor mximo de Ts que se puede utilizar sin que se produzca efecto de replicado. a 2. Con un adecuado valor de Ts , elija un valor de N (por ejemplo 1024). Mediante la utilizacin de o la FFT, trate de determinar las frecuencias y amplitudes de las sinusoides involucradas. Cul a es la resolucin en frecuencia con la que se puede determinar este valor? Piense en el paso de o frecuencia que utiliza para gracar. Para la determinacin de las amplitudes, tenga en cuenta o qu papel juega el valor de N utilizado. e 3. Determine el valor de N que debe utilizarse si se quieren estimar los valores de las frecuencias de las sinusoides con una resolucin de 0,5 Hz. Con este valor, estime los valores de las frecuencias o involucradas. Cmo depende este valor del Ts elegido? o 4. Adicione ruido a la seal mediante el comando n xn = x+randn(size(x)); donde x es la seal devuelta por sinusoides.p. Compare en el dominio temporal la seal n n con y sin ruido. Compare en el dominio frecuencial las transformadas de las seales con y sin n ruido, se pueden determinar las frecuencias de las sinusoides en este caso? Qu ocurre al e aumentar/disminuir N ?

Ejercicio 2
La funcin codigopr.p genera muestras de una seal tipo cdigo Gold. Estos cdigos son una o n o o variedad de las seales denominadas pseudo-aleatorias. Estas seales, son seales determin n n n sticas peridicas (se generan mediante una frmula) que tienen propiedades similares a seales aleatorias o o n (como el ruido). Se utilizan por ejemplo en el sistema GPS y en sistemas de comunicaciones denominados CDMA. 1. Utilizando la relacin entre la correlacin de seales y la convolucin de seales, y aceptando o o n o n que esta relacin se mantiene para las versiones circulares (convolucin circular y correlacin o o o circular), implemente una funcin correlfft.m que permita obtener la correlacin circular de o o dos seales, utilizando el comando fft. Tenga en cuenta que en los casos que veremos, el resultado n de la correlacin ser una seal real, y por errores numricos puede aparecer una componente o a n e 2

imaginaria no deseada. Descarte esta componente imaginaria tomando la parte real del resultado obtenido. Ayuda: rxy [m] = {x y }[m], donde rxy [m] denota la correlacin circular entre x e o [n] denota y[n] conjugada y reejada circularmente. yyy 2. Para vericar que las caracter sticas de la seal se asemejan al ruido, ejecute los comandos n siguientes x = codigopr(1,1,code1,0); y = randi([0,1],size(x)); y(y==0) = -1; utilizando la funcin previamente creada, calcule la autocorrelacin (correlacin consigo misma) o o o de cada una de las seales y comprelas grcamente. Tambin puede ser de utilidad calcular la n a a e intercorrelacin de x e y. o 3. Genere seales correspondientes a los tres cdigos posibles, y calcule la autocorelacin de cada n o o una y las intercorrelaciones entre ellas. Vea que comparando auto e inter correlaciones es posible distinguir entre los cdigos. Analice que ocurre al cambiar el valor de Nm . o 4. Genere una nueva seal que sea una versin desplazada circularmente de alguno de los cdigos n o o (puede serle de utilidad el comando circshift). Cmo resulta la correlacin de esta seal o o n con el cdigo sin desplazar? Vea que observando la correlacin se puede determinar el valor de o o e e desplazamiento. Analice qu ocurre al aumentar el valor de Nm . Tambin vea qu sucede al e cambiar el valor de Np . 5. Con todo lo aprendido previamente, trate de determinar a qu cdigo y con qu desplazamiento e o e se corresponde la seal incgnita. Para validar su resultado, genere una seal que corresponda n o n al cdigo hallado, desplcela por el valor hallado y comprela (en el tiempo) con la seal incgnita o a a n o (deber solaparse). an 6. Adicione ruido a la seal incgnita mediante el comando n o xincn = xinc+randn(size(xinc)); Verique que se puede seguir determinando la seal incgnita en estas condiciones. Analice n o qu ocurre al aumentar el valor de N p. Compare temporalmente la seal con y sin ruido e n adicionado. 7. Adicione ms ruido a la seal incgnita mediante el comando a n o xincn = xinc+4*randn(size(xinc)); Analice lo mismo que en el inciso previo.

Você também pode gostar