L1a Convolucion Señales Discretas

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 7

Lab. No.

1a – Convolución 1
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER
FACULTAD DE INGENIERIA
CONTROL DIGITAL

LABORATORIO No. 1a – CONVOLUCIÓN EN TIEMPO DISCRETO


(CONVOLUCIÓN SUMA) EN MATLAB®

INSTRUCCIONES
Las técnicas y herramientas didácticas que se empleen en los laboratorios tiene como finalidad el
refuerzo, la conformación y ejecución de los diferentes aspectos que hacen parte de la asignatura.
De forma que el alumno desarrolle un pensamiento flexible, dinámico, audaz, independiente,
persistente, divergente y original en su formación como profesional.

OBJETIVOS

 Realizar la convolución entre señales en tiempo discreto, utilizando MATLAB®.

Objetivos Específicos

 Conocer los comandos, algoritmos y funciones necesarias para realizar la convolución entre
señales, en tiempo discreto, en MATLAB®.
 Identificar las características de la convolución en discreto.

REFERENCIAS

 Ambardar, A. (2002). Procesamiento de Señales Analógica y Digitales (2da ed.). México.


 Barchiesi, J. V. (2008). Procesamiento Digital de Señales. Retrieved from
http://www.euv.cl/archivos_pdf/senales.pdf
 Haykin, S., & Van Veen, B. (2001). Señales y Sistemas (1ra ed.).
 Kamen, E. W., & Heck, B. S. (2008). Fundamentos de Señales y Sistemas Usando la Web y
MATLAB (3ra ed.). México.
 Morón, J. (2011). Señales y Sistemas (1ra ed.). Venezuela: Fondo Editorial Biblioteca
Universidad Rafael Urdaneta.
 Oppenheim, A. V., & Willsky, A. S. (1998). Señales y Sistemas (2da ed.).
 The MathWorks Inc. (2017). MathWorks - Makers of MATLAB and Simulink. Retrieved
April 10, 2017, from https://www.mathworks.com/

SESION DE SIMULACIÓN

1. MARCO TEÓRICO

La convolución representa la respuesta al impulso para sistemas LTI, donde el término “respuesta
al impulso” se refiere a la salida del sistema LTI debido a una entrada de impulso aplicada en el
tiempo . La respuesta al impulso caracteriza por completo el comportamiento de cualquier
sistema LTI. Esto es una propiedad básica de todos los sistemas LTI.

Esta operación de convolución, aunque difícil de calcular, incluso en casos simples, tiene un valor
teórico significativo. Nos permite no sólo determinar la respuesta del sistema para casos muy

Control Digital IE. PhD. FRANCISCO E. MORENO GARCIA


Lab. No.1a – Convolución 2
generales, sino que también proporciona una manera de caracterizar sistemas causales y estables,
donde la causalidad se relaciona con la causa y efecto de la entrada y la salida del sistema,
dándonos las condiciones para el procesamiento en tiempo real, mientras que la estabilidad
representa una característica de mayor utilidad los sistemas. Estas dos condiciones son de gran
importancia práctica.

1.1. Convolución en tiempo Discreto

Considere un sistema lineal en tiempo discreto y una entrada arbitraria a ese sistema.
Cualquier señal arbitraria puede expresarse como una combinación lineal de muestras
desplazadas en la forma:

Usando la propiedad de superposición de los sistemas lineales, se deduce que la salida puede
expresarse como una combinación lineal de las respuestas del sistema cuando la excitación está
constituida por muestras unitarias desplazadas en el tiempo. Entonces, para un sistema LTI:

Figura 1. Diagrama de bloques que representa la convolución en tiempo


discreto.
A menudo es muy útil graficar tanto como e identificar los intervalos apropiados de
corrimientos en el tiempo. Es conveniente también, definir una secuencia intermedia como el
producto de y . Este procedimiento se resume a continuación:

a. Graficar tanto como como una función de la variable independiente . Para


determinar , refleje primero en torno a para obtener y luego
recorra en el tiempo en .
b. Empiece con un corrimiento en el tiempo grande y negativo.
c. Escriba la forma funcional para .
d. Aumente el corrimiento en el tiempo hasta que la forma funcional de cambie. El
valor de al cual ocurre el cambio define el fin del intervalo presente y el principio del
nuevo intervalo.
e. Permita que esté en un nuevo intervalo. Repita los pasos c y d hasta que identifique todos
los intervalos de corrimientos en el tiempo y las formas funcionales correspondientes para
. Esto suele implicar que crezca hasta un número positivo muy grande.
f. Para cada intervalo de los corrimientos en el tiempo , sume todos los valores de las
correspondientes para obtener sobre ese intervalo.

Nota: Es importante aclarar que no siempre es necesario, en el procedimiento descrito, graficar las
funciones para identificar los intervalos de la convolución.

Control Digital IE. PhD. FRANCISCO E. MORENO GARCIA


Lab. No.1a – Convolución 3
El efecto de variar de a es deslizar más allá de de izquierda a derecha. Un
ejemplo que ilustra este procedimiento se muestra en la figura 2.

Figura 2. Convolución como proceso de deslizar una señal reflejada más allá de otra: .
La respuesta al impulso del sistema. La señal de entrada . La entrada descrita
como una función de . La respuesta al impulso reflejada y recorrida en el tiempo
descrita como una función de . La señal producto para el intervalo de corrimientos en el
tiempo . La señal producto para el intervalo de corrimientos en el tiempo
. La señal producto para el intervalo de corrimientos en el tiempo
. La salida .
2. TRABAJO PREVIO

Resuelva de forma teórica los siguientes ejercicios:

a. Para las señales y dadas, determine la convolución :



b. Halle la convolución para cada uno de los dos pares de secuencias finitas
dadas:

Control Digital IE. PhD. FRANCISCO E. MORENO GARCIA


Lab. No.1a – Convolución 4
3. ACTIVIDAD

Convolución en tiempo discreto

Sintaxis
 conv(u,v,shape)
 convnum(X,Y,DT,TY)
 convplot(X,H,TX,TH,TS)

Descripción
La función conv permite calcular la convolución de las señales u y v; el parámetro shape es
opcional y su uso no es relevante para el análisis objeto de esta práctica.

Es importante recordar que MATLAB® no realiza cálculos de forma continua, es otras palabras,
todos los cálculos realizados por MATLAB® se operan de forma discreta. Por otra parte, el
comando convnum realiza la convolución numérica de las señales X y Y en tiempo discreto. El
parámetro DT es el intervalo de muestreo, por defecto tiene un valor de 1; TY es opcional y su uso
no es objeto de estudio en esta práctica.

Finalmente, está el comando convplot de la caja de herramientas “adsp”. Este comando realiza una
animación que permite visualizar el proceso de convolución entre dos señales X y H, tanto en
tiempo continuo como en tiempo discreto; sus parámetros TX y TH son las duraciones de tiempo
para las señales X y H respectivamente, y están en la forma [Tmin Tmax]. TS es el intervalo de
muestreo y es opcional, por lo cual, si no se especifica por defecto es (MayorDuracion)/50.

Nota: Se puede obtener los mismos resultados de la función convnum usando la rutina conv con la
siguiente sintaxis: ts*conv(u,v), donde ts es el intervalo de muestreo. Las funciones convnum y
conv no dan el principio o duración de la convolución, por lo tanto, para graficar sus resultados se
debe conocer el intervalo en se extiende la convolución.
Ejemplo 1: Cálculo de la convolución en tiempo discreto
Calcule la convolución entre las señales: y .
Comandos
%% Convolución en Tiempo Discreto
n = 0:20; %Variable de tiempo discreto
x = (0.8).^n; %Generación de la señal x[n]
h = (0.4).^n; %Generación de la señal h[n]
y1 = conv(x,h); %Calcula la convolución y[n]=x[n]*h[n]
y2 = convnum(x,h); %Calcula la convolución con ADSP Toolbox
ny = 0:40; %Variable de tiempo para la convolución y[n]
subplot(2,2,1),stem(n,x),grid on
xlabel('Tiempo (s)'),ylabel('Amplitud'),title('Señal Original x[n]')
subplot(2,2,2),stem(n,h),grid on
xlabel('Tiempo (s)'),ylabel('Amplitud'),title('Señal Original h[n]')
subplot(2,2,3),stem(ny,y1),grid on
xlabel('Tiempo (s)'),ylabel('Amplitud'),title('Señal de Convolución y[n]=x[n]*h[n]')
subplot(2,2,4),stem(ny,y2),grid on
xlabel('Tiempo (s)'),ylabel('Amplitud'),title('Señal de Convolución con ADSP Toolbox y[n]=x[n]*h[n]')

Gráfica

Control Digital IE. PhD. FRANCISCO E. MORENO GARCIA


Lab. No.1a – Convolución 5

Automatizando un poco los cálculos


Recordando que las funciones vistas no dan el inicio o duración de la convolución, se pretende dar solución a este
problema programando funciones que tomen como entrada unas señales discretas cualesquiera, y ofrezca como salida
su convolución sin necesidad de conocer el intervalo de duración de dicha convolución para poder graficarla. Esta
nueva función debe, además, visualizar las tres señales.

Para ello, se tomará como base el código de la función conv_322.m desarrollada en 1998 por CDR Thad Welch y que
está disponible en la página oficial de MATLAB® como una contribución de Marco Suarez. Si se quiere ver su código
original, visitar el enlace:

https://www.mathworks.com/matlabcentral/fileexchange/47088-conv-322-m?focused=3823053&tab=function
Comandos
Vamos a crear una función llamada ConvDis que permitirá calcular la convolución entre señales discretas. Para ello,
copie las siguientes sentencias en un fichero nuevo, desde el editor de MATLAB®, y guárdelo con el nombre
ConvDis.m:

function ConvDis(x,x_start,h,h_start)
%""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
% PROPÓSITO:
% Calcular numéricamente y graficar la convolución suma de dos señales.
% y[n] = x[n]*h[n].
% La entrada, x[n], y la respuesta al impulso, h[n], serán graficadas, así
% como la señal de convolución, y[n].
%
% USO:
% ConvCon(x,x_start,h,h_start)
%
% ARGUMENTOS DE ENTRADA:
% x ---------> Versión de la señal de entrada.
% x_start ---> Tiempo de inicio de la señal de entrada en segundos
% h ---------> Versión de la señal respuesta al impulso.
% h_start ---> Tiempo de inicio de la señal de respuesta al impulso en
% segundos.
%
% ARGUMENTOS DE SALIDA: NO HAY
%

Control Digital IE. PhD. FRANCISCO E. MORENO GARCIA


Lab. No.1a – Convolución 6
% COMENTARIOS:
% Las señales 'x' y 'h' deben ser funciones definidas numéricamente, con
% una única variable independiente, que debe ser 'n'.
%
% VER TAMBIÉN:
% ConvCon
%""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
% (C) NOMBRE ALUMNO, 2017.
% Versión 1.0
%""""""""""""""""""""""""""""""""""""""""
total_length = length(x)+length(h)-1;
n = x_start+h_start+(0:total_length-1);
nmin = min([x_start h_start n])-1;
nmax = max([x_start+length(x) h_start+length(h) n])+1;

y = conv(x,h);
ymin = min([x h y])-1;
ymax = max([x h y])+1;
x_time=x_start+(0:length(x)-1);
h_time=h_start+(0:length(h)-1);
subplot(3,1,1)
stem([nmin x_time(1)-1 x_time x_time(length(x_time))+1 nmax],[0 0 x 0 0],'r')
grid on, title('Señal de Entrada, x[n]')
ylabel('Amplitud'), xlabel('Tiempo (segundos)')
axis([nmin nmax min(x)-0.1 max(x)+0.1])

subplot(3,1,2)
stem([nmin h_time(1)-1 h_time h_time(length(h_time))+1 nmax],[0 0 h 0 0],'g')
grid on, title('Señal Respuesta al Impulso, h[n]')
xlabel('Tiempo (segundos)'), ylabel('Amplitud')
axis([nmin nmax min(h)-0.1 max(h)+0.1])

subplot(3,1,3)
stem([nmin n(1)-1 n nmax],[0 0 y 0],'b')
grid on, title('Convolución y[n]= x[n]*h[n]')
xlabel('Tiempo (segundos)'),ylabel('Amplitud')
axis([nmin nmax ymin ymax])

end
Gráfica
Solucionando el ejemplo con las funciones creadas, se obtienen los siguientes resultados:

>> ConvDis(x,0,h,0)

Control Digital IE. PhD. FRANCISCO E. MORENO GARCIA


Lab. No.1a – Convolución 7

Control Digital IE. PhD. FRANCISCO E. MORENO GARCIA

También podría gustarte