Está en la página 1de 5

Asignatura Datos del alumno Fecha

Apellidos:
Procesamiento de
Señales, Sonido e
Imágenes Digitales Nombre:

Actividades

Laboratorio: Representación de señales

Objetivo

El objetivo de este laboratorio es familiarizarnos con la representación de señales en


Octave. Antes de acudir al laboratorio deberás haber instalado Octave en tu ordenador.
No está permitido el uso de estructuras de control (if, for, etc).

Tarea 1: representación de señales discretas

Para representar señales discretas en Octave debemos definir un vector (habitualmente


llamado n) con los valores de la variable independiente y otro vector (habitualmente
llamado x) con los valores de la variable dependiente. Para dibujar la señal discreta se
usa stem. Por ejemplo:

n = [-3:3];
x = e.^n;
stem(n,x);

En Octave los operadores producto, división y exponenciación (*, /, ^) hacen


operaciones a nivel de matriz. Si queremos que la operación sea elemento a elemento
debemos usar .*, ./ y .^.

Use Octave para representar la siguiente señal discreta en el intervalo n=[-4,4]:

2 , n=−2

{
−2 , n=−1
x [n]= 3 , n=0
1 , n=1
0 , resto

TEMA 3 – Actividades © Universidad Internacional de La Rioja. (UNIR)


Asignatura Datos del alumno Fecha
Apellidos:
Procesamiento de
Señales, Sonido e
Imágenes Digitales Nombre:

Entrega

Entrega la solución en un fichero tarea1.m y la gráfica resultante en tarea1.png.

Tarea 2: representación de señales continuas

Una señal continua se representa en Octave mediante vectores que contengan valores
muestreados de la señal en intervalos cortos. Para ello, habitualmente se define
primero el intervalo de muestreo ts (inct) y después sus variables dependientes e
independientes.

Para dibujar la señal continua se usa el comando plot. Por ejemplo:

inct = 0.1;
t = [-2:inct:3];
x = 0.5 * (sign(t) + 1);
plot(t,x);

En ocasiones el rango la coordenada horizontal (abscisas) y vertical (coordenadas) no


coincide con el que deseamos representar. En este caso podemos usar el comando axis
para modificar estos rangos. Por ejemplo, para que el eje de abscisas sea [-2..3] y el de
coordenadas [-1..1] hacemos:

axis([-2 3 -1 1])

También podemos etiquetar la gráfica función usando title, xlabel e ylabel. Por
ejemplo:

title('x = escalon(t)');
xlabel('t (seg)');
ylabel('x(t)');

TEMA 3 – Actividades © Universidad Internacional de La Rioja. (UNIR)


Asignatura Datos del alumno Fecha
Apellidos:
Procesamiento de
Señales, Sonido e
Imágenes Digitales Nombre:

Usa Octave para generar la gráfica de la siguiente función en el intervalo [-2,2]


etiquetando la gráfica de la función con operaciones arriba explicadas:

x (t)=t sin2 ( 2 πt )
Entrega

Entrega la solución en un fichero tarea2.m y la gráfica resultante en tarea2.png.

Tarea 3: representación de señales complejas

En Octave las muestras pueden ser números complejos, en cuyo caso las operaciones
stem y plot por defecto muestran la parte real. Por ejemplo, podemos dibujar una
exponencial y una sinusoidal solapadas. Para que al dibujar la segunda señal no se
borre la primera debemos de usar hold on. El comando legend permite etiquetar cada
una de las señales:

n = -4:4;
x1 = exp(2.0/16.0*pi*n);
x2 = sin(2.0/16.0*pi*n);
hold off;
stem(n,x1);
hold on;
stem(n,x2,'Color','red', 'MarkerEdgeColor', 'red');
legend('exp(2*pi*n/16)', 'sin(2*pi*n/16)')

Dada la siguiente señal de tiempo continuo en el intervalo t=[-8..8]:

π
j t
4
x (t)=e

TEMA 3 – Actividades © Universidad Internacional de La Rioja. (UNIR)


Asignatura Datos del alumno Fecha
Apellidos:
Procesamiento de
Señales, Sonido e
Imágenes Digitales Nombre:

Usa subplot para dividir la figura en 1 fila x 2 columnas y dibujar:

En la primera posición solapada la parte real e imaginaria de la señal.


En la segunda posición solapadas el valor absoluto y la fase.

Para ello podemos usar las funciones Octave: real, imag, abs y angle.

Entrega

Entrega la solución en un fichero tarea3.m y la gráfica resultante en tarea3.png.

Tarea 4: función de descomposición par e impar

Un fichero .m puede contener una función. Para ello el fichero debe comenzar con la
palabra reservada function y el nombre del fichero coincidir con el de la función. Por
ejemplo, podemos crear un fichero real_imag.m con este contenido:

function [Xr,Xi] = real_imag(X)


Xr = real(X);
Xi = imag(X);

Las funciones en Octave pueden retornar más de un valor y debemos asignar un valor a
cada valor retornado antes de que acabe la función. Por ejemplo, para ejecutar la
función, suponiendo que en X1 tengamos representada una señal, obtendríamos su
parte real e imaginaria haciendo:

[X1r,X1i] = real_imag(X1);

TEMA 3 – Actividades © Universidad Internacional de La Rioja. (UNIR)


Asignatura Datos del alumno Fecha
Apellidos:
Procesamiento de
Señales, Sonido e
Imágenes Digitales Nombre:

Se pide:

Implementar una función par_impar que devuelva la parte par e impar de la señal
pasada. Para invertir la señal se recomienda usar la función fliplr.
Dada la siguiente señal:

e n , 10 ≤n< 0

{
x 1 [n]=
π
1 , n=0
cos ( n), 1≤ n ≤ 10
8

Usar la función anterior para calcular su parte par e impar y representar x1[n] así como
sus partes par e impar en pantalla con subplot.

Entrega

Entrega la solución en los ficheros par_impar.m y tarea4.m, y la gráfica resultante en


tarea4.png.

Revisión de la actividad

La revisión de las actividades calificables no se realizar por el foro, debe de realizarse a


través del tutor.

TEMA 3 – Actividades © Universidad Internacional de La Rioja. (UNIR)

También podría gustarte