Práctica 2: Periodicidad Apellidos, nombre Apellidos, nombre
SOLUCIÓN
Grupo Puesto Fecha
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 frecuencias de de las exponenc exponenciales iales discretas discretas periódicas 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:
2k π n 8
x k [n] = cos(ω 0k n ) = cos
Desarrolle, sin utilizar bucles, un script que que genere esta señal para los valores
k ∈ {0,1,2,3,4,5,6,7,8}
,
en el intervalo n ∈ [0,10] , 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.
A la vista del gráfico obtenido, y sin hacer ningún tipo de cálculos aparte, intente contestar a las siguientes preguntas:
─ Del conjunto de las nueve señales representadas, ¿cuántas son distintas? 5
─ Rellene la tabla adjunta:
Valor de
ω
0 k *
Periodo fundamental , N 0
ω
fundamental,
*
2π
x 0 [n ]
x1 [n ]
x 2 [n ]
x 3 [n ]
x 4 [n ]
x 5 [n ]
x 6 [n ]
x 7 [n ]
x 8 [n ]
0
pi/4
pi/2
3pi/4
pi
5pi/4
3pi/2
7pi/4
2pi
Inf
8
4
8
2
8
4
8
Inf
0
pi/4
pi/2
pi/4
pi
pi/4
pi/2
pi/4
0
N 0
Para deducirlo acuda a su definición, es decir, el mínimo desplazamiento que ha de efectuarse sobre la señal para que coincida con ella misma.
─ Ordene las nueve señales, dando número ‘cero’ a la de menor frecuencia o pulsación fundamental y mismo número a señales con igual pulsación, e indique en la siguiente tabla el orden que ocupa cada señal (observe que la pulsación 2π equivale a la pulsación 0, es decir, a una señal constante o de mínima frecuencia) :
Orden en frecuencia
2.1.2
x 0 [n ]
x1 [n ]
x 2 [n ]
x 3 [n ]
x 4 [n ]
x 5 [n ]
x 6 [n ]
x 7 [n ]
x 8 [n ]
0
1
2
1
3
1
2
1
0
Ejercicio 2: Señales sinusoidales en forma seno
Repita el ejercicio anterior, pero esta vez trabajando con señales en forma seno, es decir:
2k π n , k ∈ {0,1,2,3,4,5,6,7,8} 8
x k ′ [n ] = sin (ω 0k n ) = sin
Observe el nuevo gráfico obtenido, e intente explicar por qué las señales x ′4 [n] y x 8′ [n ] no presentan el aspecto que cabría esperar a raíz de la expresión analítica que tienen; contraste su explicación con el profesor de prácticas. Proponga una solución numérica (no gráfica) y póngala en práctica, de modo que los resultados sean los esperables (utilice el comando round ) y que la solución adoptada se pueda aplicar a todas las señales representadas.
A la vista del nuevo gráfico obtenido, y sin hacer ningún tipo de cálculos aparte, conteste de nuevo a las siguientes cuestiones:
─ Del conjunto de las nueve señales representadas, ¿cuántas son distintas? 7
─ Rellene la tabla adjunta: x 0′ [n ]
x1′ [n ]
x 2′ [n ]
x 3′ [n ]
x 4′ [n ]
x 5′ [n ]
x 6′ [n ]
x 7′ [n ]
x 8′ [n ]
0 k
0
pi/4
pi/2
3pi/4
pi
5pi/4
3pi/2
7pi/4
2pi
Periodo fundamental, N 0
Inf
8
4
8
Inf
8
4
8
Inf
0
pi/4
pi/2
pi/4
0
pi/4
pi/2
pi/4
0
Valor de
ω
ω
fundamental,
2π N 0
─ Ordene las nueve señales, dando número ‘cero’ a la de menor frecuencia o pulsación fundamental y mismo número de orden a señales con igual pulsación, e indique en la siguiente tabla el orden que ocupa cada señal:
Orden en frecuencia
x 0′ [n ]
x1′ [n ]
x 2′ [n ]
x 3′ [n ]
x 4′ [n ]
x 5′ [n ]
x 6′ [n ]
x 7′ [n ]
x 8′ [n ]
0
1
2
1
0
1
2
1
0
2.1.3
Ejercicio 3: señales exponenciales puras
Sean las señales exponenciales co mplejas: x k [n ] = e
j
2 k π 8
n
2k π 2k π n + j sin n , k ∈ {0,1,2,3,4,5,6,7,8} 8 8
= cos
Observe que sus partes real e imaginaria son respectivamente las señales representadas en los dos ejercicios anteriores. Teniendo esto en cuenta, observe simultáneamente los gráficos de los dos ejercicios anteriores (cada uno en una ventana) y conteste a las siguientes cuestiones:
─ Del conjunto de las nueve señales exponenciales, ¿cuántas son distintas? 8
─ Teniendo en cuenta que las propiedades de periodicidad de una señal exponencial pura son las resultantes de combinar sus partes real e imaginaria, del conjunto de las nueve señales exponenciales, ¿cuántas frecuencias fundamentales distintas se observan?
0,pi/4,pi/2,pi
─ Del conjunto de las nueve señales exponenciales, ¿cuál presenta frecuencia menor, cuál 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 señales discretas 2.2.1
Ejercicio 4: Comparación señales discretas vs. señales continuas
Sean las siguientes señales:
2π 2π n , x1 (t ) = cos t 12 12
x1 [n ] = cos
8π 8π n , x 2 (t ) = cos t 31 31
x 2 [n ] = cos
1 1 n , x 3 (t ) = cos t 2 2
x 3 [n ] = cos
Desarrolle un script que genere estas seis señales en los intervalos n ∈ [0,50] y t ∈ [0,50] (definido en segundos a intervalos de 0.2 s.) respectivamente, y represéntelas en un mismo gráfico de tres filas o subgráficos (utilice subplot). En cada subgráfico represente superpuestas la señal continua (utilice plot) y la señal discreta correspondiente (utilice stem ).
A partir de la inspección de los gráficos, obtenga el periodo mínimo de repetición de las seis señales, 1 es decir, su periodo fundamental, y compruebe que los cálculos teóricos coinciden con sus observaciones. Rellene la tabla adjunta:
2.2.2
x1 [n ]
x 2 [n ]
x 3 [n ]
N 0 observado
12
31
25
N 0 teórico
12
31
NO
x1 (t )
x 2 (t )
x 3 (t )
T 0 observado
12
7.8
12.6
T 0 teórico
12
7.75
12.55664
Ejercicio 5: función de comprobación de periodicidad
El objetivo de este ejercicio es desarrollar una función de MATLAB que verifique si una señal dada presenta un periodo también dado. Más específicamente, la función recibirá como parámetros un vector con valores de una señal discreta
Tenga en cuenta que en las señales continuas el periodo fundamental se obtiene analíticamente como T 0 = 2π
1
las señales discretas, el periodo es el valor entero N 0 que verifique
ω 0
2π
=
m N
=
m0 N 0
, siendo
ω 0
, y para
m 0 cualquier número entero.
(parámetro signal) y el valor del periodo que se desea verificar (parámetro period ). El procedimiento propuesto para hacer la verificación consiste en generar una nueva señal consistente en la señal signal desplazada tantas unidades como indique el parámetro period . A continuación se seleccionarán las partes de ambas señales que estén definidas, y se restarán (ver Fig. 1); si el resultado es nulo, indicará que signal presenta
el periodo dado; si no, no. Este resultado lo devolverá la función como valor de retorno. No utilice bucles ni estructuras de control para llevar a cabo esta función.
signal signal desplazada period is_periodic
Fig. 1: Diagrama de funcionamiento propuesto para la función f_test_period La función 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 señal ‘signal’ y un número ‘period’ % y devuelve ‘0’ si la señal presenta dicho periodo, y un valor % distinto de cero en caso contrario. Esta función hace uso de % la función ‘length(X)’.
Para comprobar el funcionamiento de la función desarrollada, aplicarla sobre las tres señales 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 period is_periodic
x1 [n ]
x 2 [n ]
x 3 [n ]
12
31
12
0
0
Dif 0
Comente los resultados obtenidos, e indique, si procede, alguna solución a los problemas numéricos que haya encontrado:
2.2.3
Ejercicio 6: periodicidad de la suma de señales periódicas
Considere las tres señales siguientes:
2π 3π n + 2 ⋅ cos n N N
x1 [n ] = cos
2 3 n + cos n N N
x 2 [n] = cos
2π 5π n + 3 ⋅ cos n N 2 N
x 3 [n ] = cos
Suponiendo que N=6 , represente las tres señales en un gráfico de 3x1 subgráficos (utilice subplot). Represéntelas inicialmente en el rango n ∈ [0,49] . A continuación, a través de la observación de los gráficos y de la utilización de la función f_test_period , obtenga el periodo fundamental de cada una y represéntelas de nuevo, esta vez en un intervalo de dos periodos fundamentales (si alguna no fuera
periódica, represéntela en n ∈ [0,49] ). Dibuje el resultado obtenido:
Indique en qué condiciones la suma de dos señales periódicas es una señal periódica. ¿Cuál es el periodo de la señal suma? Cualquier señal x( t ) que sea igual a la suma de dos señales periódicas, x1( t ) y x2( t ), con períodos fundamentales T1 y T2 respectivamente, será periódica si se cumple la siguiente relación:
T 1 T2
m m 0 = ⇒ T = n0T1 = m0T2, n0 y m0 ∈ enteros n n 0 m 0 siendo fracción irreducible (T es el m.c.m entre T1 y T 2 ) N 0 =
Igual para el caso discreto.
2.2.4
Ejercicio 7: periodicidad del producto de señales periódicas
Considere las tres señales siguientes:
π π n ⋅ cos n 4 4
x1 [n ] = sin
2 π
4
x 2 [n ] = cos
n
π π x 3 [ n ] = sin n ⋅ cos n 4 8
Represente las tres señales en un gráfico de 3x1 subgráficos (utilice subplot). Represéntelas en el rango n ∈ [0,49] . A continuación, a través de la observación de los gráficos y de la utilización de la función f_test_period , obtenga el periodo fundamental de cada una. Dibuje el resultado obtenido:
Indique en la tabla adjunta cuál es el periodo de las señales factores y el periodo de la señal producto.
N 0 , factor 1
N 0 , factor 2
N 0 , señal
x1 [n ]
8
8
4
x 2 [n ]
8
8
4
x 3 [n ]
8
16
16
Comente en qué condiciones el producto de dos señales periódicas es una señal periódica (efectúe las pruebas adicionales que considere necesarias para llegar a una conclusión fundada): …
2.2.5
Ejercicio 8: función de cálculo de periodicidad
El objetivo de este ejercicio es desarrollar una función de MATLAB que obtenga y devuelva el periodo fundamental de una señal dada; si la señal no es periódica devolverá valor nulo, y si es constante, valor unidad. Más específicamente, la función recibirá como único parámetro una señal discreta (parámetro signal).
El procedimiento propuesto para obtener su periodo fundamental consiste en crear un bucle que
vaya llamando a la función f_test_period con valores crecientes del parámetro period (comenzando en el valor 1 y terminando en la mitad de la longitud de la señal). Cuando la llamada a dicha función arroje valor nulo, se devolverá el valor del periodo que ha provocado esta situación. Si el bucle terminara sin que se haya verificado la condición anterior, se devolverá valor nulo. Para desarrollar esta función es probable que requiera hacer uso de las funciones de programación for, if
y return. La función 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 señal ‘signal’ y devuelve su periodo, si % la señal es periódica, ‘0’ si no lo es, y ‘1’ si es una señal % de valor constante.
Compruebe su funcionamiento con cualquiera de las señales de los ejercicios anteriores.