10
Grupo Práctica 2: Periodicidad Puesto Apellidos, nombre SOLUCIÓN Fecha Apellidos, nombre SOLUCIÓN El objetivo de esta práctica es explorar las utilidades de representación gráfica de MATLAB para observar las especiales propiedades de periodicidad de las señales discretas. Para llevar a cabo la práctica, desarrolle cada ejercicio en un fichero de comandos ‘ejercicio_X.m’ separado (salvo cuando se le solicite desarrollar una función, en cuyo caso el fichero llevará el nombre de la función). Justo antes de finalizar la práctica, comprima los ficheros ‘.m’ generados en un único fichero ‘practica_2_Puesto_XX . zip’, conéctese al sistema de entrega de prácticas de la Intranet y entréguelo en el grupo que corresponda (lunes A, martes B, miércoles C o viernes D). Salvo que se le indique lo contrario en algún apartado concreto, no está permitido utilizar en los scripts las funciones de control de flujo del programa de MATLAB (for, if-else, etc.). 2.1 Rango de frecuencias de las exponenciales discretas periódicas 2.1.1 Ejercicio 1: Señales sinusoidales en forma coseno El objetivo de este ejercicio es representar señales periódicas discretas de pulsación creciente, y observar el rango efectivo de variación de pulsación que estas señales presentan. Para ello, considere la señal discreta: [] ( 29 = = n k n n x k k 8 2 cos cos 0 π ϖ Desarrolle, sin utilizar bucles, un script que genere esta señal para los valores { } 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 , 0 k , en el intervalo [ ] 10 , 0 n , y que represente en un mismo gráfico estas nueve señales (utilice el comando subplot para hacer un gráfico múltiple de 3x3 gráficos), y las etiquete para identificar sin duda a qué señal corresponde cada representación.

Guion 2 Solucion

Embed Size (px)

DESCRIPTION

GUIA DE SOLUCION

Citation preview

  • Grupo Prctica 2: Periodicidad Puesto

    Apellidos, nombre SOLUCIN Fecha

    Apellidos, nombre SOLUCIN

    El objetivo de esta prctica es explorar las utilidades de representacin grfica de MATLAB para

    observar las especiales propiedades de periodicidad de las seales discretas.

    Para llevar a cabo la prctica, desarrolle cada ejercicio en un fichero de comandos ejercicio_X.m separado (salvo cuando se le solicite desarrollar una funcin, en cuyo caso el fichero llevar el nombre de la funcin). Justo antes de finalizar la prctica, comprima los ficheros .m generados en un nico fichero practica_2_Puesto_XX . zip, conctese al sistema de entrega de prcticas de la Intranet y entrguelo en el grupo que corresponda (lunes A, martes B, mircoles C o viernes D).

    Salvo que se le indique lo contrario en algn apartado concreto, no est permitido utilizar en los scripts las funciones de control de flujo del programa de MATLAB ( for , if-else , etc.).

    2.1 Rango de frecuencias de las exponenciales discretas peridicas

    2.1.1 Ejercicio 1: Seales sinusoidales en forma coseno

    El objetivo de este ejercicio es representar seales peridicas discretas de pulsacin creciente, y observar el rango efectivo de variacin de pulsacin que estas seales presentan. Para ello, considere la seal discreta:

    [ ] ( )

    == nknnx kk 82

    coscos 0

    Desarrolle, sin utilizar bucles, un script que genere esta seal para los valores { }8,7,6,5,4,3,2,1,0k , en el intervalo [ ]10,0n , y que represente en un mismo grfico estas nueve seales (utilice el comando subplot para hacer un grfico mltiple de 3x3 grficos), y las etiquete para identificar sin duda a qu seal corresponde cada representacin.

  • A la vista del grfico obtenido, y sin hacer ningn tipo de clculos aparte, intente contestar a las siguientes preguntas:

    Del conjunto de las nueve seales representadas, cuntas son distintas?

    5

    Rellene la tabla adjunta:

    [ ]nx0 [ ]nx1 [ ]nx2 [ ]nx3 [ ]nx4 [ ]nx5 [ ]nx6 [ ]nx7 [ ]nx8

    Valor de 0k 0 pi/4 pi/2 3pi/4 pi 5pi/4 3pi/2 7pi/4 2pi

    Periodo fundamental*, 0N Inf 8 4 8 2 8 4 8 Inf

    fundamental, 0

    2

    N

    0 pi/4 pi/2 pi/4 pi pi/4 pi/2 pi/4 0

    * Para deducirlo acuda a su definicin, es decir, el mnimo desplazamiento que ha de efectuarse sobre la seal para que coincida con ella misma.

  • Ordene las nueve seales, dando nmero cero a la de menor frecuencia o pulsacin fundamental y mismo nmero a seales con igual pulsacin, e indique en la siguiente tabla el orden que ocupa cada seal (observe que la pulsacin 2 equivale a la pulsacin 0, es decir, a una seal constante o de mnima frecuencia) :

    [ ]nx0 [ ]nx1 [ ]nx2 [ ]nx3 [ ]nx4 [ ]nx5 [ ]nx6 [ ]nx7 [ ]nx8

    Orden en frecuencia 0 1 2 1 3 1 2 1 0

    2.1.2 Ejercicio 2: Seales sinusoidales en forma seno

    Repita el ejercicio anterior, pero esta vez trabajando con seales en forma seno, es decir:

    [ ] ( )

    == nknnx kk 82

    sinsin 0 , { }8,7,6,5,4,3,2,1,0k

    Observe el nuevo grfico obtenido, e intente explicar por qu las seales [ ]nx4 y [ ]nx8 no presentan el aspecto que cabra esperar a raz de la expresin analtica que tienen; contraste su explicacin con el profesor de prcticas. Proponga una solucin numrica (no grfica) y pngala en prctica, de modo que los resultados sean los esperables (utilice el comando round ) y que la solucin adoptada se pueda aplicar a todas las seales representadas.

  • A la vista del nuevo grfico obtenido, y sin hacer ningn tipo de clculos aparte, conteste de nuevo a las siguientes cuestiones:

    Del conjunto de las nueve seales representadas, cuntas son distintas?

    7

    Rellene la tabla adjunta:

    [ ]nx0 [ ]nx1 [ ]nx2 [ ]nx3 [ ]nx4 [ ]nx5 [ ]nx6 [ ]nx7 [ ]nx8

    Valor de 0k 0 pi/4 pi/2 3pi/4 pi 5pi/4 3pi/2 7pi/4 2pi

    Periodo fundamental, 0N Inf 8 4 8 Inf 8 4 8 Inf

    fundamental, 0

    2

    N

    0 pi/4 pi/2 pi/4 0 pi/4 pi/2 pi/4 0

    Ordene las nueve seales, dando nmero cero a la de menor frecuencia o pulsacin fundamental y mismo nmero de orden a seales con igual pulsacin, e indique en la siguiente tabla el orden que ocupa cada seal:

    [ ]nx0 [ ]nx1 [ ]nx2 [ ]nx3 [ ]nx4 [ ]nx5 [ ]nx6 [ ]nx7 [ ]nx8

    Orden en frecuencia 0 1 2 1 0 1 2 1 0

  • 2.1.3 Ejercicio 3: seales exponenciales puras

    Sean las seales exponenciales complejas:

    [ ]

    +

    == nkjnkenxn

    kj

    k 8

    2sin

    8

    2cos8

    2 , { }8,7,6,5,4,3,2,1,0k

    Observe que sus partes real e imaginaria son respectivamente las seales representadas en los dos ejercicios anteriores. Teniendo esto en cuenta, observe simultneamente los grficos de los dos ejercicios anteriores (cada uno en una ventana) y conteste a las siguientes cuestiones:

    Del conjunto de las nueve seales exponenciales, cuntas son distintas?

    8

    Teniendo en cuenta que las propiedades de periodicidad de una seal exponencial pura son las resultantes de combinar sus partes real e imaginaria, del conjunto de las nueve seales exponenciales, cuntas frecuencias fundamentales distintas se observan?

    0,pi/4,pi/2,pi

    Del conjunto de las nueve seales exponenciales, cul presenta frecuencia menor, cul la presenta mayor, y qu valor en cada caso?

    Menor -> k = 0 y = 8. frecuencia 0

    Mayor -> k = 4. frecuencia pi

    2.2 Periodicidad en seales discretas

    2.2.1 Ejercicio 4: Comparacin seales discretas vs. seales continuas

    Sean las siguientes seales:

    [ ]

    = nnx12

    2cos1

    , ( )

    = ttx12

    2cos1

    [ ]

    = nnx31

    8cos2

    , ( )

    = ttx31

    8cos2

    [ ]

    = nnx2

    1cos3 , ( )

    = ttx2

    1cos3

    Desarrolle un script que genere estas seis seales en los intervalos [ ]50,0n y [ ]50,0t (definido en segundos a intervalos de 0.2 s.) respectivamente, y represntelas en un mismo grfico de tres filas o subgrficos (utilice subplot ). En cada subgrfico represente superpuestas la seal continua (utilice plot ) y la seal discreta correspondiente (utilice stem ).

  • A partir de la inspeccin de los grficos, obtenga el periodo mnimo de repeticin de las seis seales, es decir, su periodo fundamental, y compruebe que los clculos tericos1 coinciden con sus observaciones. Rellene la tabla adjunta:

    [ ]nx1 [ ]nx2 [ ]nx3

    0N observado 12 31 25

    0N terico 12 31 NO

    ( )tx1 ( )tx2 ( )tx3

    0T observado 12 7.8 12.6

    0T terico 12 7.75 12.55664

    2.2.2 Ejercicio 5: funcin de comprobacin de periodicidad

    El objetivo de este ejercicio es desarrollar una funcin de MATLAB que verifique si una seal dada presenta un periodo tambin dado.

    Ms especficamente, la funcin recibir como parmetros un vector con valores de una seal discreta

    1 Tenga en cuenta que en las seales continuas el periodo fundamental se obtiene analticamente como 00 2 =T , y para

    las seales discretas, el periodo es el valor entero 0N que verifique 0

    00

    2 N

    m

    N

    m ==

    , siendo 0m cualquier nmero entero.

  • (parmetro signal ) y el valor del periodo que se desea verificar (parmetro period ). El procedimiento propuesto para hacer la verificacin consiste en generar una nueva seal consistente en la seal signal desplazada tantas unidades como indique el parmetro period . A continuacin se seleccionarn las partes de ambas seales que estn definidas, y se restarn (ver Fig. 1); si el resultado es nulo, indicar que signal presenta el periodo dado; si no, no. Este resultado lo devolver la funcin como valor de retorno. No utilice bucles ni estructuras de control para llevar a cabo esta funcin.

    signal

    desplazadaperiod

    is_periodic

    signal

    Fig. 1: Diagrama de funcionamiento propuesto para la funcin f_test_period

    La funcin se almacenar en un fichero f_test_period.m y presentar el siguiente prototipo: function is_periodic = f_test_period(signal,period)

    % f_test_period acepta una seal signal y un nme ro period % y devuelve 0 si la seal presenta dicho periodo , y un valor % distinto de cero en caso contrario. Esta funcin hace uso de

    % la funcin length(X).

    Para comprobar el funcionamiento de la funcin desarrollada, aplicarla sobre las tres seales discretas del ejercicio anterior y rellenar la tabla adjunta (utilice en los dos primeros casos el valor observado, y en el tercero utilice period=12 ):

    signal [ ]nx1 [ ]nx2 [ ]nx3 period

    12 31 12

    is_periodic 0 0 Dif 0

    Comente los resultados obtenidos, e indique, si procede, alguna solucin a los problemas numricos que haya encontrado:

    2.2.3 Ejercicio 6: periodicidad de la suma de seales peridicas

    Considere las tres seales siguientes:

    [ ]

    +

    = nN

    nN

    nx 3

    cos22

    cos1

    [ ]

    +

    = nN

    nN

    nx3

    cos2

    cos2

    [ ]

    +

    = nN

    nN

    nx2

    5cos3

    2cos3

    Suponiendo que N=6, represente las tres seales en un grfico de 3x1 subgrficos (utilice subplot ).

    Represntelas inicialmente en el rango [ ]49,0n . A continuacin, a travs de la observacin de los grficos y de la utilizacin de la funcin f_test_period , obtenga el periodo fundamental de cada una y represntelas de nuevo, esta vez en un intervalo de dos periodos fundamentales (si alguna no fuera

  • peridica, represntela en [ ]49,0n ). Dibuje el resultado obtenido:

  • Indique en qu condiciones la suma de dos seales peridicas es una seal peridica.

    Cul es el periodo de la seal suma?

    Cualquier seal x( t ) que sea igual a la suma de dos seales peridicas, x1( t ) y x2( t ), con perodos fundamentales T1 y T2 respectivamente, ser peridica si se cumple la siguiente relacin:

    010 1 0 2 0 0

    2 0

    01 2

    0

    , enteros

    siendo fraccin irreducible ( es el m.c.m entre y )

    mT m T n T m T n y mT n n

    mT T T

    N

    = = = =

    Igual para el caso discreto.

    2.2.4 Ejercicio 7: periodicidad del producto de seales peridicas

    Considere las tres seales siguientes:

    [ ]

    = nnnx4

    cos4

    sin1

    [ ]

    = nnx4

    cos22

    [ ]3 sin cos4 8x n n n =

    Represente las tres seales en un grfico de 3x1 subgrficos (utilice subplot ). Represntelas en el

    rango [ ]49,0n . A continuacin, a travs de la observacin de los grficos y de la utilizacin de la funcin f_test_period , obtenga el periodo fundamental de cada una.

    Dibuje el resultado obtenido:

  • Indique en la tabla adjunta cul es el periodo de las seales factores y el periodo de la seal producto.

    0N , factor 1 0N , factor 2 0N , seal

    [ ]nx1 8 8 4 [ ]nx2 8 8 4 [ ]nx3 8 16 16

    Comente en qu condiciones el producto de dos seales peridicas es una seal peridica (efecte las pruebas adicionales que considere necesarias para llegar a una conclusin fundada):

    2.2.5 Ejercicio 8: funcin de clculo de periodicidad

    El objetivo de este ejercicio es desarrollar una funcin de MATLAB que obtenga y devuelva el periodo fundamental de una seal dada; si la seal no es peridica devolver valor nulo, y si es constante, valor unidad.

    Ms especficamente, la funcin recibir como nico parmetro una seal discreta (parmetro signal ). El procedimiento propuesto para obtener su periodo fundamental consiste en crear un bucle que vaya llamando a la funcin f_test_period con valores crecientes del parmetro period (comenzando en el valor 1 y terminando en la mitad de la longitud de la seal). Cuando la llamada a dicha funcin arroje valor nulo, se devolver el valor del periodo que ha provocado esta situacin. Si el bucle terminara sin que se haya verificado la condicin anterior, se devolver valor nulo.

    Para desarrollar esta funcin es probable que requiera hacer uso de las funciones de programacin for , if y return . La funcin se almacenar en un fichero f_get_period.m y presentar el siguiente prototipo: function fundamental_period = f_get_period(signal)

    % f_get_period acepta una seal signal y devuelve su periodo, si % la seal es peridica, 0 si no lo es, y 1 si es una seal

    % de valor constante.

    Compruebe su funcionamiento con cualquiera de las seales de los ejercicios anteriores.