Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FACULTAD DE INGENIERÍA
ESCUELA DE
INGENIERÍA EN ELECTRÓNICA Y TELECOMUNICACIONES
Pablo Briones
LABORATORIO DE PROCESAMIENTO DIGITAL DE SEÑALES
PRÁCTICA 1
SEÑALES EN TIEMPO DISCRETO
OBJETIVO GENERAL: Emplear los conceptos estudiados en la asignatura Procesamiento Digital de
Señales para el análisis de secuencias en tiempo discreto aplicando procedimientos analíticos, así como
herramientas informáticas.
OBJETIVOS ESPECIFICOS:
Representar señales en tiempo discreto en términos de secuencias fundamentales impulso y
escalón.
Analizar la periodicidad de señales en tiempo discreto.
Desarrollar operaciones fundamentales con secuencias.
Determinar las componentes par e impar de una señal en tiempo discreto.
Determinar la potencia y energía de una señal en tiempo discreto.
MARCO TEORICO:
SEÑALES EN TIEMPO DISCRETO: Se representan matemáticamente como secuencia de números x =
{x[n]}, donde n siempre serán números enteros. Pueden ser expresadas como regla para cálculo o
listado de valores.
FUNCIONES SINGULARES:
0; 𝑛 ≠ 0
FUNCION IMPULSO: 𝛿[𝑛] = { .
1; 𝑛 = 0
1; 𝑛 ≥ 0
ESCALON UNITARIO: 𝑢[𝑛] = { .
0; 𝑛 < 0
𝑛; 𝑛 ≥ 0
FUNCION RAMPA: 𝑟[𝑛] = { .
0; 𝑛 < 0
SECUENCIA EXPONENCIAL: [𝑛]=𝐴𝛼𝑛
SEÑAL PERIODICA Y NO PERIODICA: una señal periódica en tiempo discreto su secuencia se repetirá
con una frecuencia f y un periodo fundamental N que siempre será un entero positivo, si N no lo es
será una señal no periódica.
𝑘
x[n] = x[n + N] ; 𝑓= .
𝑁
OPERACIONES FUNDAMENTALES:
CAMBIO DE NIVEL(escalado): 𝑦[𝑛]=𝐴𝑥[𝑛] ; A > 1 → Ganancia; A < 1 → Atenuación; A (-):
Cambio de polaridad.
DESPLASAMIENTO TEMPORAL: [𝑛]=[𝑛−𝑁] ; N>0 retardo hacia la derecha. N<0 adelanto hacia
la izquierda.
ABATIMIENTO: [𝑛]=[−𝑛].
ESCALADO TEMPORAL: [𝑛]=[𝑎𝑛]. Si a>1 es compresión; Si a<1 expansión.
ENERGIA Y POTENCIA: Si el valor encontrado es finito es una señal de energía. 𝐸 = ∑∞ 2
𝑛=−∞|𝑥(𝑛)| .
Si el valor encontrado es finito y diferente de cero se denomina señal de potencia.
1
𝑃 = lim ∑𝑁
𝑛=−𝑁|𝑥(𝑛)|
2
𝑁→∞ 2𝑁+1
SEÑAL PAR O IMPAR: simetría par [−𝑛]=[𝑛]; simetría impar 𝑥[−𝑛]=−𝑥[𝑛]. Cualquier señal se puede
expresar como una suma de una señal par y otra impar. [𝑛]=𝑥e[𝑛]+𝑥o[𝑛]
Componente par: xe[n]=12 {𝑥[𝑛] + 𝑥[−𝑛]}
1
Componente impar: xo[n]=2 {𝑥[𝑛] − 𝑥[−𝑛]} .[1]
PROCEDIMIENTO:
1. Determine de forma analítica la secuencia resultante acorde a las operaciones indicadas. A
continuación, realice las gráficas de las secuencias resultantes empleando Matlab u Octave
Si n=-3
x[-3]= 𝑢[−3] − 3𝛿[−3 − 1] = 0-0 =0
Si n=-2
x[-2]= 𝑢[−2] − 3𝛿[−2 − 1] = 0-0= 0
Si n=-1
x[-1]= 𝑢[−1] − 3𝛿[−1 − 1] =0-0= 0
Si n=0
x[0]= 𝑢[0] − 3𝛿[0 − 1] = 1-0= 1
Si n=1
x[1]= 𝑢[1] − 3𝛿[1 − 1] =1-3=-2
Si n=2
x[2]= 𝑢[2] − 3𝛿[2 − 1] = 1-0= 1
si n=3
x[3]= 𝑢[3] − 3𝛿[3 − 1] = 1-0 =1
por lo que la secuencia x[n] resultante es:
x[n]=[0,0,0,1,-2,1,1 ]
Si n=-3
x[-3]= 3𝑢[−3 − 3] + 𝛿[−3 − 2] + 𝑢[3]= 0 +0+1=1
Si n=-2
x[-2]= 3𝑢[−2 − 3] + 𝛿[−2 − 2] + 𝑢[2]=0+0+1=1
si n=-1
x[-1]= 3𝑢[−1 − 3] + 𝛿[−1 − 2] + 𝑢[1]= 0+0+1= 1
Si n=0
x[0]= 3𝑢[0 − 3] + 𝛿[0 − 2] + 𝑢[0]= 0+0+1=1
Si n=1
x[1]= 3𝑢[1 − 3] + 𝛿[1 − 2] + 𝑢[−1]=0+0+0=0
Si n=2
x[2]= 3𝑢[2 − 3] + 𝛿[2 − 2] + 𝑢[−2]= 0+1+0=1
Si n=3
x[3]= 3𝑢[3 − 3] + 𝛿[3 − 2] + 𝑢[−3]=3+0+0=3
Por lo que la secuencia es:
X[n]=[1,1,1,1,0,1,3]
En Fig2 se muestra la simulación de esta secuencia.
m=linspace(-3,3,7);
f=[1,1,1,1,0,1,3];
subplot(1,1,1)
stem(m,f,'filled')
2. Determine si las siguientes secuencias complejas son periódicas. Para las señales periódicas
determine su periodo y grafique las secuencias empleando Matlab.
a) 2𝑒 𝑗𝑛 ;
2𝜋𝑘 𝑘 1
=ωo=1 ; = ; N=2π por lo tanto N no es entero, asi que la señal no es periódica.
𝑁 𝑁 2𝜋
b) 2𝑒 𝑗𝜋𝑛 ;
2𝜋𝑘 𝑘 1
𝑁
=ωo=π ; 𝑁
= 2; N=2 por lo que es periódica.
(𝑗2𝜋𝑛+2)
c) 𝑒 ;
2𝜋𝑘 𝑘
𝑁
=ωo=2π ; 𝑁
= 1; N=1 por lo que es periódica.
𝑗8𝜋𝑛
d) 𝑒 3 ;
2𝜋𝑘 8𝜋 𝑘 4
𝑁
=ωo= 3 ; 𝑁
= 3; N=3 por lo que si es periódica.
3. Desarrolle un programa empleando dicha herramienta que permita realizar y presentar las
gráficas correspondientes a tres operaciones fundamentales de su elección.
Se desarrolló una interfaz que utiliza como función predeterminada al escalón unitario, con la
que se podrá realizar operaciones como desplazamiento, escalado, inversión.
Para realizar un ejemplo colocamos como parámetros 3 para el desplazamiento, 3 para el
escalado y 1 para la inversión.
En la fig4 se puede observar la interfaz creada con los parámetros a modificarse.
Fig4. Interfaz de la aplicación.
𝑥[𝑛] = 𝛿[𝑛 + 3] + 𝛿[𝑛 + 2]+ 𝛿[𝑛 +1]− 𝛿[𝑛 − 1]− 𝛿[𝑛 − 2]− 𝛿[𝑛 − 3] −5≤𝑛≤5
Si n=-3
xe[-3]=12{𝛿[-3 + 3] + 𝛿[-3 + 2]+ 𝛿[-3 +1]− 𝛿[-3 − 1]− 𝛿[-3 − 2]− 𝛿[-3 − 3]+ 𝛿[3 - 3] + 𝛿[3 - 2]+ 𝛿[3
-1]− 𝛿[3 + 1]− 𝛿[3 + 2]− 𝛿[3 + 3]}= 1
si n=-2
xe[-2]=12{𝛿[-2 + 3] + 𝛿[-2 + 2]+ 𝛿[-2 +1]− 𝛿[-2 − 1]− 𝛿[-2 − 2]− 𝛿[-2 − 3]+ 𝛿[2 - 3] + 𝛿[2 - 2]+ 𝛿[2
-1]− 𝛿[2 + 1]− 𝛿[2 + 2]− 𝛿[2 + 3]}=1
Si n=-1
xe[-1]=12{𝛿[-1 + 3] + 𝛿[-1 + 2]+ 𝛿[-1 +1]− 𝛿[-1 − 1]− 𝛿[-1 − 2]− 𝛿[-1 − 3]+ 𝛿[1 - 3] + 𝛿[1 - 2]+ 𝛿[1
-1]− 𝛿[1 + 1]− 𝛿[1 + 2]− 𝛿[1 + 3]} = 1
Si n=0
xe[0]=12{𝛿[0 + 3] + 𝛿[0 + 2]+ 𝛿[0 +1]− 𝛿[0 − 1]− 𝛿[0 − 2]− 𝛿[0 − 3]+ 𝛿[0 - 3] + 𝛿[0 - 2]+ 𝛿[0 -1]−
𝛿[0 + 1]− 𝛿[0 + 2]− 𝛿[0+ 3]}=0
Si n=1
xe[1]=12{𝛿[1 + 3] + 𝛿[1 + 2]+ 𝛿[1 +1]− 𝛿[1 − 1]− 𝛿[1 − 2]− 𝛿[1 − 3]+ 𝛿[-1 - 3] + 𝛿[-1 - 2]+ 𝛿[-1 -
1]− 𝛿[-1 + 1]− 𝛿[-1 + 2]− 𝛿[-1 + 3]}= -1
Si n=2
xe[2]=12{𝛿[2 + 3] + 𝛿[2 + 2]+ 𝛿[2 +1]− 𝛿[2 − 1]− 𝛿[2 − 2]− 𝛿[2 − 3]+ 𝛿[-2 - 3] + 𝛿[-2 - 2]+ 𝛿[-2 -
1]− 𝛿[-2 + 1]− 𝛿[-2 + 2]− 𝛿[-2 + 3]}= -1
Si n=3
xe[3]=12{𝛿[3 + 3] + 𝛿[3+ 2]+ 𝛿[3 +1]− 𝛿[3 − 1]− 𝛿[3 − 2]− 𝛿[3− 3]+ 𝛿[-3 - 3] + 𝛿[-3 - 2]+ 𝛿[-3 -1]−
𝛿[-3 + 1]− 𝛿[-3 + 2]− 𝛿[-3 + 3]}= -1
Si n=4
xe[4]=12{𝛿[4 + 3] + 𝛿[4 + 2]+ 𝛿[4 +1]− 𝛿[4− 1]− 𝛿[4 − 2]− 𝛿[4 − 3]+ 𝛿[-4 - 3] + 𝛿[-4 - 2]+ 𝛿[-4 -
1]− 𝛿[-4 + 1]− 𝛿[-4 + 2]− 𝛿[-4 + 3]} = 0
Si n=5
xe[5]=12{𝛿[5 + 3] + 𝛿[5 + 2]+ 𝛿[5 +1]− 𝛿[5 − 1]− 𝛿[5 − 2]− 𝛿[5 − 3]+ 𝛿[-5 - 3] + 𝛿[-5 - 2]+ 𝛿[-5 -
1]− 𝛿[-5 + 1]− 𝛿[-5 + 2]− 𝛿[-5 + 3]}= 0
Si n= -5
xo[-5]=12 {δ[−5 + 3] + δ[−5 + 2] + δ[−5 + 1] − δ[−5 − 1] − δ[−5 − 2] −
δ[−5 − 3] − δ[5 − 3] − δ[5 − 2] − δ[5 − 1] + δ[5 + 1] + δ[5 + 2] + δ[5 + 3]}= 0
Si n=-4
xo[-4]=12 {δ[−4 + 3] + δ[−4 + 2] + δ[−4 + 1] − δ[−4 − 1] − δ[−4 − 2] −
δ[−4 − 3] − δ[4 − 3] − δ[4 − 2] − δ[4 − 1] + δ[4 + 1] + δ[4 + 2] + δ[4 + 3]}=0
Si n=-3
xo[-3]=12 {δ[−3
+ 3] + δ[−3 + 2] + δ[−3 + 1] − δ[−3 − 1] − δ[−3 − 2] −
δ[−3 − 3] − δ[3 − 3] − δ[3 − 2] − δ[3 − 1] + δ[3 + 1] + δ[3 + 2] + δ[3 + 3]}=0
Si n=-2
xo[-2]=12 {δ[−2 + 3] + δ[−2 + 2] + δ[−2 + 1] − δ[−2 − 1] − δ[−2 − 2] −
δ[−2 − 3] − δ[−2 − 3] − δ[−2 − 2] − δ[−2 − 1] + δ[−2 + 1] + δ[−2 + 2] +
δ[−2 + 3]}= 0
Si n=-1
xo[-2] = 0
Si n=0
xo[0]=0
Si n=1
xo[1]=0
Si n=2
xo[2]=0
Si n=3
xo[3]=0
Si n=4
xo[4]=0
Si n=5
xo[5]=0
Por lo que la secuencia de la parte impar nos queda
xo[n]=[0,0,0,0,0,0,0,0,0,0,0]
Codigo3:
m=linspace(-5,5,11); parte par
f=[0,0,1,1,1,0,-1,-1,-1,0,0];
subplot(2,1,1)
stem(m,f,'filled')
Código:
y=[1,0.5,0] %creo el vector de la secuencia periódica
sum=0
n=3 %periodo
for x=1:n %recorro los valores del vector de secuencia
sum=sum+(y(x)^2) %sumo los valores del vector al cuadrado
end
pot=(1/n)*sum %divido para el periodo
CONCLUSIONES:
1) Se logró encontrar las secuencias resultantes a partir de la suma de dos funciones elementales tales
como el escalón y el impulso.
2) Gracias al ejercicio 2, pudimos determinar la periodicidad de señales complejas, encontrando su
periodo fundamental y verificando que este sea entero. En el literal c) se pudo notar que la fase no
afecta al periodo fundamental.
3) Aprendimos de forma general el uso de la herramienta GUI de Matlab para aplicarlo en tres
operaciones fundamentales de las señales.
4) Se determinó analíticamente las componentes par e impar, pero para una mejor comprensión se
decidió implementarlo en Matlab, de esta manera queda más claro que sumando las secuencias par e
impar obtenidas en Matlab nos quedaba la secuencia original.
5) Logramos determinar la potencia de una señal discreta y periódica, implementando una ecuación
encontrada en el libro guía, y se implementó un algoritmo basado en esta fórmula en Matlab para
verificar el resultado obtenido de forma analítica.
BIBLIOGRAFIA:
[1]Oppenhein. A, Tratamiento de señales en tiempo discreto. Madrid. PRENTICE HALL, 3ra Edición,
2011
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @prac1dsp_OpeningFcn, ...
'gui_OutputFcn', @prac1dsp_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
varargout{1} = handles.output;