ANÁLISIS DE SISTEMAS Y SEÑALES - AÑO 2023
Práctica 1:
Señales VIC y VID. Delta de Dirac. Periodicidad. Energı́a y Potencia.
1. Impulsos continuos y discretos
a) Enuncie la propiedad de extracción de la delta de Dirac.
b) Considerando la delta de Dirac como lı́mite para ǫ → 0 de la función 1ǫ ⊓ ((t − ǫ/2)/ǫ), trate de
interpretar la propiedad de extracción cuando se aplica a una función continua en t = 0.
c) Evalúe las siguientes integrales usando propiedades de la delta de Dirac
Z t Z 2t
i. δ(τ )dτ ii. δ(τ − 3)dτ
−∞ −2t
Z ∞ Z at+b
iii. u(τ /2 − 6) δ(τ /3 − 5)dτ iv. f (at − 2 − τ /3) δ((τ − 5)/2)dτ
−∞ −∞
d) Enuncie una propiedad equivalente a la de extracción de la delta de Dirac para señales discretas.
e) Escriba la señal x[n] del ejercicio 3 en términos de impulsos (como suma de deltas de Kronecker).
2. Manejo de Señales VIC
Dada la señal de variable independiente continua h(t) de la figura, calcule y grafique las siguientes
señales:
h(t) a) h(t + 1) b) h(2t − 3)
3
2
c) 2 h(− 12 (t + 10)) d) h( 2t )[u(t + 2) − u(t − 2)]
1 e) h(t2 ) f ) Impar{h(t)}
t
g) Par{h(t)}
-2 -1 0 1 2 3 4
3. Manejo de Señales VID
Dada la señal de variable independiente discreta x[n] de la figura, calcule y grafique las siguientes
señales:
x[n]
a) x[n − 1] b) x[2n]
1
c) x[n2 ] d) x[−n − 3]
e) Impar{x[n]} f ) Par{x[n]}
n x[n/2] n pares
-1 1 2 3 4 5 6 7
g) y[n] =
0 n impares
4. Señales Periódicas y Aperiódicas
Determine si cada una de las siguientes señales es periódica o aperiódica. En el primer caso especifique
su perı́odo fundamental.
5π 5π
a) x(t) = −2 sen(−0,2t + 3 ) b) x[n] = −2 sen(−0,2n + 3 ) c) x(t) = 12 [cos(2t − π4 )]2
π n
d) x(t) = ej( 2 t−π) e) x[n] = ej( 2 −π) f ) x(t) = 2 cos(2πt) + sen(10t)
g) x(t) = 2 cos(2πt) sen(10t) h) x[n] = cos(2πn2 ) i ) x(t) = cos(2πt2 )
+∞
X j2πkt
j ) x(t) = ck e T0
con c1 6= 0
k=−∞
¿Cambiarı́a su respuesta de los incisos b) y e) pensando que el procesamiento de la señal se llevará a
cabo en un sistema de cómputo que posee una representación de π con un número finito de decimales
(por ej. 3,14; 3,1416; etc.)?
5. Energı́a, Potencia y Valor Medio
Para una señal (VIC o VID) x, que podrı́a ser compleja, denotaremos con Ex a su energı́a, con Px a
su potencia y con x̄ a su valor medio.
a) Escriba las definiciones de Ex , Px y x̄ para señales VIC y para señales VID.
b) Probar que si Ex es finita, entonces Px es cero, y que si Px es finita, entonces Ex es infinita.
c) Calcular Ex , Px y x̄ para las siguientes señales.
i. x(t) = u(t) ii. x(t) = Asen(2πf0 t + φ), con f0 , φ ∈ R
iii. x(t) = 2ej6πt iv. x[n] = (1/2)n u[n]
3 n = 3 k, k ∈ Z
v. x[n] =
0 c.c.
d) Definiendo xP (t) = Par{x(t)} y xN (t) = Impar{x(t)}, calcular Ex , ExP y ExN para la siguiente
señal
x(t) = 3t · [u(t) − u(t − 2)]
e) Probar que, en general, para señales de energı́a Ex = ExP + ExN . Verificar que la señal anterior
cumple con esto.
f ) Probar que, en general, para señales de potencia Px = PxP + PxN , y que x̄ = x̄P .
g) Definiendo x̃[n] = x[n] − x̄, probar que Px = Px̃ + |x̄|2 .
6. Usando MATLAB
Antes de comenzar este ejercicio quizás sea conveniente que lea el Apéndice sobre MATLAB.
a) Genere la función h(t) del ejercicio 2 creando un archivo de texto titulado ‘tri1.m’. Dicho archivo
debe contener las siguientes sentencias:
function h = tri1(t)
% TRI1 se~
nal del ejercicio 2 de la Práctica 1
h = (t+1).*(t >= -1 & t < 1) + (-t+3).*(t >= 1 & t < 3);
end
En el ambiente de trabajo de MATLAB defina un vector para la variable independiente t, evalúe
la señal y grafique ejecutando las siguientes instrucciones:
t=[-2:.001:8];
h=tri1(2*t-3);
plot(t,h);
Repita los pasos anteriores y evalúe los restantes incisos (puede utilizar los comandos grid,
axis, title, xlabel e ylabel para personalizar la presentación de los gráficos).
Aclaración: en algunos casos puede parecer que existen diferencias con los resultados obtenidos
analı́ticamente, ésto se resuelve definiendo adecuadamente el vector t.
b) Genere una nueva función que permita definir la señal x[n] del ejercicio 3, y verifique los resultados
obtenidos. Deberá definir un nuevo vector n. En este caso puede utilizar el comando stem para
graficar las secuencias.
c) Grafique las señales del ejercicio 4 (salvo inciso j ) utilizando un rango de valores adecuados
para que se note el tipo de señal que es. Para las señales complejas puede graficar parte real
e imaginaria, o módulo y fase, o si acepta el desafı́o puede probar con un gráfico 3D (usando
plot3).
d) Genere un script de MATLAB que permita obtener una aproximación para los cálculos del
ejercicio 5c), incisos II y IV.
7. Comportamiento Aleatorio
Existen señales que no pueden ser caracterizadas por un comportamiento determinı́stico (no podemos
decir mediante una fórmula cómo se van a comportar en el tiempo). Estas señales se comportan
de manera aleatoria. Para su caracterización se recurre al concepto de proceso aleatorio y quedan
descriptas por medio de determinados parámetros estadı́sticos.
Para comenzar a tomar noción de cómo se “ven” estas señales, recurriremos a las herramientas de
generación de señales aleatorias que posee MATLAB. Vale la pena aclarar que la generación de estas
señales se lleva a cabo de forma determinı́stica, mediante métodos que permiten obtener señales que
lucen como aleatorias, y que por ello se denominan pseudo-aleatorias.
a) Mediante las siguientes instrucciones puede generar una serie de valores (denominado vector en
la nomencaltura de MATLAB, y que interpretaremos como los valores que toma nuestra señal)
de una señal aleatoria con distribución uniforme.
N = 1000; x = rand(1,N); figure, plot(x); figure, hist(x);
y = 10*(rand(1,N)-0.5); figure, plot(y); figure, hist(y);
Vea qué ocurre al ejecutar nuevamente las instrucciones. Compare las figuras. ¿En qué se parecen
y en qué difieren? Vea qué sucede al modificar el valor de N.
b) Ejecute las sentencias siguientes y compare con los resultados anteriores (en este caso la distri-
bución es de tipo Normal o Gaussiana)
N = 1000; z = randn(1,N); figure, plot(z); figure, hist(z);
Vea qué sucede al modificar el valor de N. Puede modificar la cantidad de intervalos utilizados
por la gráfica del histograma, utilizando la sentencia hist(z,K) con K el número de intervalos a
utilizar (por ejemplo 20, 50, etc.).
c) Para analizar qué sucede cuando se suman señales aleatorias con distribución uniforme, ejecute
las sentencias siguientes
N = 1000; M = 2; x = rand(M,N)-0.5; y = sum(x,1);
figure, hist(x'); figure, hist(y);
Vea cómo resulta la señal y (su histograma). ¿Qué sucede si se cambia el valor de M por los valores
5, 10, 20? ¿A qué se parece el histograma de estas señales? Vea cuáles son los valores máximos
que puede tomar la señal en cada caso.
Algunos resultados
1. b) i. u(t) ii. u(2t − 3) − u(−2t − 3) iii. 3 iv. 2f (at − 11/3)u(at + b − 5)
a) T = 10π b) Ap. c) T = π/2 d) T = 4 e) Ap. f ) Ap.
4.
g) Ap. h) N = 1 i ) Ap. j ) T = T0
Ex Px x̄
i ∞ 1/2 1/2
ii ∞ A2 /2 0
5. c) d) Ex = 24, ExP = 12, ExN = 12
iii ∞ 4 0
iv 4/3 0 0
v ∞ 3 1
Apéndice sobre MATLAB
A continuación se dejan algunas sugerencias útiles para el uso del software MATLAB a lo largo de la
cursada. Es recomendable incorporar algunos de estos consejos para poder realizar las tareas con el utilitario
de cada práctica y especialmente, aplicarlos en los laboratorios.
1. Trabajar de manera ordenada: Para que sea sencillo ordenar el trabajo realizado en MATLAB se
sugiere la siguiente jerarquı́a de directorios:
a) Comenzar con la carpeta Documents o Mis Documentos (o home si se trabaja en Linux) y
crear la carpeta AnSyS.
b) Dentro de la carpeta AnSyS crear una carpeta llamada MATLAB.
c) Dentro se sugiere crear una carpeta para funciones útiles, funciones y luego se puede crear
una carpeta en el mismo nivel por cada práctica: P1, P2, P3, etc. La idea es que en la carpeta
funciones se encuentren todos los scripts (archivos .m ) que sean utilizados en varios de los
trabajos prácticos a lo largo de la cursada.
d) Dentro de la carpeta correspondiente a cada práctica puede crearse una nueva carpeta por cada
ejercicio, o destinar un script a cada ejercicio, se deja esto último a gusto del estudiante.
2. Uso de funciones que se encuentren en otra carpeta: Es deseable que todas las funciones
que se utilicen recurrentemente en las resoluciones con MATLAB se encuentren en una misma car-
peta, en nuestro caso, en la carpeta funciones. Para ello se debe indicar a MATLAB el path de
la carpeta donde se encuentran los scripts que se desean utilizar. Por ejemplo, si se tiene un script
Ej1a.m localizado en \AnSyS\MATLAB\P1 y se desea usar el script cajon.m localizado en
\AnSyS\MATLAB\funciones deberá agregarse lo siguiente al comienzo del script Ej1a.m :
addpath('../../funciones') % Para incluir los .m de la carpeta funciones.
3. Para graficar como se debe: Muchas veces no se tiene en cuenta que al realizar un gráfico deben
considerarse varias cuestiones: escala de cada eje, tamaño de la letra de los ejes y la leyenda (si la hay),
grosor de las lı́neas o puntos graficados, etc. Por lo tanto, como agregar todas estas caracterı́sticas a
cada gráfico puede consumir tiempo y lı́neas de código, y es una operación que se repetirá muchas
veces a lo largo de la materia, se recomienda construir una función que automatice lo anterior.
A modo de ejemplo se propone la siguiente función, plotCompleto.m, que puede utilizarse libremente
o modificarse a gusto de cada estudiante:
function plotCompleto(lim_ejes,eje_x,eje_y,titulo,tam_letra,col,grosor,t,x)
% plotCompleto(lim_ejes,eje_x,eje_y,titulo,tam_letra,col,grosor,t,x)
%
% Realiza un gráfico de una SVIC de manera adecuada.
% Ejemplo de uso:
% t = -40:0.01:40;
% xa = -2*sin(-0.2*t + 5/3*pi);
% plotCompleto([t(1) t(end) -2 2],'t','f(t)','Se~nal f(t)',20,'r*-',1.5,t,xa)
figure('units','normalized','outerposition',[0 0 1 1]); % Creo y maximizo figura.
plot(t,x,col,'Linewidth',grosor); % Grafico. Color (y marcador) y grosor.
axis(lim_ejes); grid on; % Lı́mites de los ejes. Grilla.
set(gca,'FontSize', tam_letra); % Tama~
no de letra para la leyenda y ejes.
xlabel(eje_x,'Interpreter','Latex'); % Nombro el eje x.
ylabel(eje_y,'Interpreter','Latex'); % Nombro el eje y.
title(titulo); % Coloco tı́tulo para el gráfico.
% Nota: Lo de 'interpreter', 'Latex' es opcional...sólo modifica la
% fuente. Pueden googlear Latex como editor de textos...
end
4. Ejemplo: gráfico de la SVIC x(t) = ⊓ (t).
Se define el script cajon.m1 y se lo guarda dentro de la carpeta funciones. Luego se crea un script,
en este caso guardado en la carpeta P1 con el siguiente contenido:
clear all;close all; clc; % Al comenzar un script...
addpath('../../funciones') % Para incluir los .m de la carpeta funciones.
dt = 1e-2; % paso temporal
t = -1:dt:1; % vector tiempo
x = cajon(t); % función cajón definida en "cajon.m", dentro
% de la carpeta "funciones"
% gráfico
plotCompleto([-1 1 -0.5 1.5],'t','Amplitud','Gráfico de la SVIC',25,'m*-',1.5,t,x);
5. Últimas consideraciones:
En los scripts es útil el uso de celdas, para separar el mismo en secciones. Para comenzar una
celda debe utilizarse el sı́mbolo % %. Para ejecutar una dada celda hay que posicionar el cursor
sobre alguna y presionar Ctrl+ENTER.
Tenga en cuenta que al usar addpath el sı́mbolo ../ simboliza subir una carpeta en jerarquı́a
relativo al lugar donde se encuentre el script que se está ejecutando. En caso de usar un número
de carpetas diferente al propuesto, debe considerarse la cantidad correcta de ../ para que el
comando sea exitoso.
Al crear funciones o scripts es útil comentar las primeras lı́neas con información sobre dicho script.
Dicha información puede ser accedida al ingresar help función. Por ejemplo intente: help plot.
⋆ Se deja para investigación personal el sistema de control de versiones git2 que también podrı́a
utilizarse como agregado a la gestión de scripts de MATLAB. Esto es interesante ya que en el
mundo profesional git es muy utilizado y serı́a bueno que el que esté interesadx, pueda informarse
al respecto.
1
Similar a Ej 6, pero en vez de una función triangular se debe crear una función que valga 1 si |t| < 1/2.
2
Sitio web: [Link]