Documentos de Académico
Documentos de Profesional
Documentos de Cultura
3.1 OBJETIVO
Al finalizar la presente práctica de laboratorio usted podrá caracterizar las propiedades de los
Sistemas Discretos Lineales e Invariantes en el Tiempo (SDLIT), a partir de la obtención de las
características de los SDLIT a través de su respuesta impulsional, introducir la Convolución como
una herramienta matemática que permita conocer la respuesta del sistema ante una entrada
arbitraria. Finalmente introducir la operación de Correlación Cruzada entre dos secuencias.
Los Sistemas Discretos se pueden caracterizar como una transformación, T{x[n]}, que modifica
la secuencia de entrada x[n] para convertirla en una secuencia de salida y[n]. Por lo tanto teniendo
en cuenta que cualquier secuencia puede expresarse como una combinación lineal de impulsos
desplazados, la salida de un Sistema Discreto puede escribirse como:
y n T x n T x k n k (3.1)
k
1
donde hk[n] es la respuesta del sistema al impulso desplazado δ[n−k]. Además, si se considera
la invarianza temporal:
y n x k T n k x k h n k x n * h n (3.3)
k k
donde h[n] es la respuesta impulsiva del sistema (salida del sistema cuando en la entrada se aplica
la secuencia δ[n]). Al operador “ * “ se le denomina convolución. De 3.3 se puede concluir que,
para conocer la respuesta de un sistema SDLIT ante cualquier entrada se requiere conocer
solamente su respuesta impulsional.
En forma generalizada:
M 1
1
y n x n k
M k 0
Ejecute el siguiente código y verifique que esta es una posible realización de la evaluación de la
respuesta impulsional del sistema discreto Promedio Móvil utilizando la función impz de
Matlab.
# LABORATORIO PDS No 3
# SISTEMAS LINEALES E INVARIANTES EN EL TIEMPO - SDLIT
# Ejercicio 3.2: Respuesta Impulsional
# y[n]=1/3(x[n]+x[n-1]+x[n-2])
# --------------------------------------------------------------
clear;clc;clf;
# --------------------------------------------------------------
N=40;
n=0:N-1;
#
b0=1/3 ; b1= 1/3 ; b2= 1/3 ;
num=[b0 b1 b2];
#
a1=1 ;
denom=[a1];
# Aplicacion de la funcion impz
hn=impz(num,denom,N);
# Grafica de la respuesta impulsional
figure(1);
stem(n,hn,'r');grid;
xlabel('n');ylabel('h[n]');
title('Respuesta Impulsional');
2
Escriba un programa para generar y graficar la respuesta impulsional utilizando la función
filter, para 50 puntos del sistema descrito por:
La convolución de dos secuencias de longitud finita siempre proporciona una secuencia con un
número finito de muestras. En este ejercicio se usarán las siguientes secuencias:
• x[n] = u[n] − u[n − 40] • v[n] = u[n + 25] − u[n − 32] • w[n] = u[n + 41] − u[n + 15]
(a) Calcular las muestras para las que están definidas las siguientes secuencias
(b) Obtener una regla con la que se pueda calcular la muestra inicial y final de la convolución
de dos secuencias finitas.
3.5 CONVOLUCIÓN
Una interpretación de la ecuación 2.3 es suponer que la señal de salida de un sistema es la suma
de las secuencias que se obtienen al introducir individualmente las muestras que componen la
secuencia de entrada. De esta manera, la muestra de la señal de entrada correspondiente al instante
n = k es x[k]δ[n − k] y su salida asociada es x[k]h[n − k].
Para comprender esta interpretación se puede observar el ejemplo de la Fig. 3.1, donde
consideramos un sistema SDLIT con respuesta impulsional
δ[n] h[n]
SDLIT
x[k]δ[n-k] x[k]h[n-k]
SDLIT
3
SDLIT
= =
x[n] y[n]
Ejercicio 3.4
Ejecute el siguiente código y verifique que este es una posible realización de la convolución en
Matlab :
nx = -1:2;
lx = length(nx);
x = [1 2 -0.5 0.5];
nh = 0:7;
lh = length(nh);
h = ones(lh,1);
ly = length(x) + length(h) -1;
ny = nx(1)+nh(1) : nx(lx) +nh(lh);
y = x(1)*[h; zeros(ly-lh,1)] + x(2)*[0; h; zeros(ly-lh-
1,1)]+ x(3)*[0;0;h;zeros(ly-lh-2,1)] + x(4)*[zeros(ly-
lh,1); h];
stem(ny, y)
1. En las tres primeras líneas de comandos definimos un vector x con los valores de la secuencia
de entrada, la longitud de dicho vector y los índices temporales en los que está definido. El
valor del vector x[1] se corresponde con la muestra x[−1] de la secuencia discreta.
2. En las tres líneas siguientes, definimos el vector h, su longitud y los índices temporales
en los que está definido.
FLAVIO N. CARRILLO GOMERO - 2016
4
3. Calculamos la longitud del vector de salida así como sus índices temporales.
4. Calculamos la convolución como la suma del producto de cada muestra del vector x por el
vector h adecuadamente desplazado. Nótese que estos desplazamientos se efectúan mediante
concatenaciones de ceros al vector h.
5. Finalmente dibujamos el resultado.
Ejercicio 3.5
En este ejercicio vamos a trabajar con la operación de convolución entre secuencias partiendo
del primer método de añadir todas las contribuciones existentes tal como se acaba de explicar.
la que se debe excitar con la secuencia de entrada x1[n] que deberá elaborar en un fichero
x1.txt y luego cargarlo. Considerar que el primer elemento de este vector se corresponda
con el valor de la secuencia de entrada en el instante n = 0. Evalué con Matlab, la secuencia
que corresponde a la salida y1[n]. Represente dicha secuencia prestando especial atención
al etiquetado del eje horizontal.
(b) Obtenga la secuencia de salida que genera el mismo sistema SDLIT anterior con la secuencia
de entrada del archivo x1.txt pero en este caso considerando que el primer elemento de
x2[n] se corresponda con el valor de la secuencia en n = −2. Represente esta nueva secuencia
de salida y2[n].
(c) Para el mismo sistema SDLIT, considere ahora la secuencia de entrada almacenada en el
fichero x1.txt, sabiendo que el primer elemento se corresponde con el valor de la
secuencia x3[n] en el instante n = +3. Obtenga y represente la correspondiente secuencia de
salida y3[n].
La ecuación 3.3 puede interpretarse de una forma alterna en el sentido de que se denomina
convolución gráfica. La idea básica, sobre la que se asienta la convolución gráfica, consiste en
representar los términos que aparecen en la expresión 3.3 en función de la variable k, dejando
como parámetro independiente el valor n. La representación del término x[k] no plantea ninguna
dificultad.
Sin embargo, para representar h[n − k] es necesario recordar las propiedades de desplazamiento
y reflexión. Para comprender mejor la idea se plantea el ejemplo que aparece en la Fig. 3.2:
En este caso, si deseamos calcular un único valor de la secuencia de salida, por ejemplo el
valor y[n0], simplemente necesitaremos realizar las dos operaciones siguientes:
yn0 k x k h n0 k (3.6)
5
y no yno k (3.7)
k
Del ejemplo anterior se desprende que la convolución gráfica proporciona una forma eficiente
para calcular numéricamente la convolución de dos secuencias. En esta forma de proceder se
basan los programas que realizan la convolución entre dos secuencias, como la función conv de
Matlab.
Ejercicio 3.6
Mediante la convolución gráfica de dos secuencias se puede calcular el valor de la señal de salida
en una muestra específica. Considerar las secuencias:
• x[n] = (3/4)nu[n]
• v[n] = (3/4)|n|
• w[n] = (n + 12) (u[n + 12] − u[n − 30])
Compruebe ahora los resultados con el computador (emplear para ello distintos truncamientos
de v[n] y observe cuando hay diferencias apreciables en los resultados).
6
Fig.3.2 Interpretación Gráfica de la Convolución
Las señales con las que se operan en los sistemas físicamente realizables son reales. Sin embargo,
para modelar algunos sistemas, las señales complejas resultan muy útiles. Por ejemplo, en
aplicaciones de electrónica de potencia es muy habitual trabajar con fasores. De igual forma, en
sistemas de comunicaciones, las señales pasa banda suelen caracterizarse como señales
complejas.
Ejercicio 3.7
Ejercicio 3.8
Utilizando el editor de Matlab, programe una función conv_comp.m cuya cabecera sea:
En esta sección vamos a analizar la operación de correlación entre señales, es de gran interés de
cara a las aplicaciones. Se define la correlación cruzada entre dos señales, en general complejas,
de la siguiente manera:
rxy k x k y n k
*
(3.8)
n
Ejercicio 3.9
[y,ky]=corrcruzada(x,kx,h,kh)
donde ky, kx y kh son los vectores de índices temporales de las 3 secuencias involucradas.
7
Ahora compruebe, teóricamente y con Matlab, la siguiente relación de simetría de la correlación:
Para fortalecer los conceptos asimilados durante este laboratorio, se le recomienda realizar los
siguientes ejercicios:
• Tratamiento Digital de Señales. John G. Proakis; Dimitris G. Manolakis. Prentice Hall, 3era
Edición, 2000. Capítulo 2: 2.16, 2.17, 2.19, 2.21, 2.22, 2.23, 2.25, 2.26, 2.27, 2.28, 2.29, 2.30,
2.45, 2.58, 2.592.60,