Está en la página 1de 8

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

(Universidad del Perú, DECANA DE AMERICA)


FACULTAD DE INGENIERIA ELECTRONICA Y ELECTRICA
E.P. DE INGENIERIA ELECTRONICA
LABORATORIO DE PROCESAMIENTO DIGITAL DE SEÑALES

LABORATORIO NO. 3: SISTEMAS DISCRETOS LINEALES E INVARIANTES


EN EL TIEMPO

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.

3.2 EQUIPOS Y MATERIALES REQUERIDOS

El equipo de experimentación necesario para realizar el presente laboratorio es:


1. PC INTEL CORE i5 o superior.
2. Sistema Operativo Windows 10.

3.3 SOFTWARE REQUERIDO


El siguiente software es necesario para realizar este laboratorio:
1. Octave V4.2, https://www.gnu.org/software/octave/
2. Librerías y archivos de soporte.

3.4 ASPECTOS TEÓRICOS PREVIOS

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  

Observando esta expresión, y restringiendo el estudio a los Sistemas Lineales Invariantes en el


Tiempo (SDLIT) puede llegarse a conocer la respuesta del sistema ante cualquier señal de entrada
mediante la aplicación conjunta del principio de superposición o propiedad de linealidad y la
propiedad de invarianza temporal.

Aplicando el principio de superposición se puede obtener la siguiente expresión:


 
y  n   x  k T   n  k    x  k h  n  k 
k  k 
k (3.2)

FLAVIO N. CARRILLO GOMERO - 2016

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.

La convolución es una herramienta matemática empleada en el Procesamiento Digital de Señales.


Aunque se ha definido como un operador que permite determinar la respuesta de un
Sistema SDLIT, también se puede operar sobre dos señales arbitrarias.

Ejercicio No. 3.2

Sea el sistema discreto causal descrito por la siguiente ecuación en diferencia:

y[n]=1/3(x[n] + x[n-1] + x[n-2])

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');

Ejercicio No. 3.3

FLAVIO N. CARRILLO GOMERO - 2016

2
Escriba un programa para generar y graficar la respuesta impulsional utilizando la función
filter, para 50 puntos del sistema descrito por:

y[n] – 0.5y[n-1] = x[n]


Ejercicio No. 3.4

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

• y1[n] = x[n] * v[n] • y2[n] = v[n] * w[n] • y3[n] = x[n] * w[n]

(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

h[n] = u[n] − u[n − 8] y


x[−1] = 1,
x[0] = 2,
x[1] = −0.5,
x[2] = 0.5

La evaluación de la secuencia de salida para este ejemplo, vendrá dada por:

y[n] = x[−1]h[n+1] + x[0]h[n] + x[1]h[n − 1] + x[2]h[n − 2] (3.4)

δ[n] h[n]
SDLIT

x[k]δ[n-k] x[k]h[n-k]
SDLIT

FLAVIO N. CARRILLO GOMERO - 2016

3
SDLIT

= =
x[n] y[n]

Fig. 3.1 Interpretación grafica de la Convolució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)

Explicación del código propuesto:

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.

(a) Vamos a considerar un sistema SDLIT con respuesta impulsional:

h[n] = 0.95n(u[n] − u[n − 10]) (3.5)

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].

(d) Comprobar los resultados anteriores utilizando la función conv de Matlab.

Atendiendo a la interpretación anterior, la salida de un sistema SDLIT se determina mediante la


suma de las respuestas individuales de cada impulso desplazado que compone la señal de entrada.
Sin embargo, esta aproximación trae una dificultad de tipo computacional para calcular sólo una
muestra de la señal de salida, habrá que determinar y sumar todas esas respuestas individuales.

3.5.1 CONVOLUCIÓN GRAFICA

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)

FLAVIO N. CARRILLO GOMERO - 2016

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])

Calcular, sin la ayuda del ordenador, los valores que se solicitan:


1. Si ya[n] = x[n]*w[n], calcular ya[12].
2. Si yb[n] = x[n]*v[n], calcular yb[0], yb[2].

Compruebe ahora los resultados con el computador (emplear para ello distintos truncamientos
de v[n] y observe cuando hay diferencias apreciables en los resultados).

FLAVIO N. CARRILLO GOMERO - 2016

6
Fig.3.2 Interpretación Gráfica de la Convolución

3.5.2CONVOLUCION DE SECUENCIAS COMPLEJAS

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.

Por esta razón se proponen los siguientes ejercicios:

Ejercicio 3.7

Obtenga la parte real e imaginaria de la secuencia resultante de la convolución de dos secuencias


complejas x[n] = xr[n] + j xi[n] e y[n] = yr[n] + j yi[n].

Ejercicio 3.8

Utilizando el editor de Matlab, programe una función conv_comp.m cuya cabecera sea:

function [sal_re, sal_im] = conv_comp(ent1,ent2)

# ent1: vector complejo a convolucionar


# ent2: vector complejo a convolucionar
# sal re: parte real de la convolución entre ent1 y ent2
# sal im: parte imaginaria de la convolución entre ent1 y ent2

Cargue el archivo complejox.txt y complejoy.txt que contiene los vectores


complejos x e y respectivamente. Calcule la convolución de ambos vectores utilizando la función
que acaba de programar. Verifique el resultado utilizando la función conv().

3.6 CORRELACIÓN CRUZADA

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 

La correlación en el instante k mide la energía cruzada entre ambas señales, con un


desplazamiento de longitud k en una de ellas. La correlación da una idea del parecido entre las
señales: a mayor correlación, mayor parecido. Además, la correlación admite una interpretación
en forma de convolución.

Ejercicio 3.9

Pruebe primeramente que:

rxy[k] = x[k] * y* [−k] (3.9)


Programe una función de correlación cruzada en Matlab con la siguiente cabecera:

[y,ky]=corrcruzada(x,kx,h,kh)

donde ky, kx y kh son los vectores de índices temporales de las 3 secuencias involucradas.

FLAVIO N. CARRILLO GOMERO - 2016

7
Ahora compruebe, teóricamente y con Matlab, la siguiente relación de simetría de la correlación:

ryx[k] = r*xy[-k] (3.10)

3.7 EJERCICIOS RECOMENDADOS

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,

• Tratamiento de Señales en Tiempo Discreto. Alan. V. Oppenheim y Ronald. W. Schafer.


Prentice Hall, 2da. Edición, 2000. Capítulo 2: 2.4, 2.5, 2.6, 2.8, 2.9, 2.12, 2.15, 2.16, 2.18

FLAVIO N. CARRILLO GOMERO - 2016

También podría gustarte