05. TSS, Lab05 - Convolución En Tiempo Continuo y Discreto En Matlab PDF

Title 05. TSS, Lab05 - Convolución En Tiempo Continuo y Discreto En Matlab
Course Teoria de señales y sistemas
Institution Universidad Francisco de Paula Santander
Pages 13
File Size 1.1 MB
File Type PDF
Total Downloads 15
Total Views 155

Summary

ejercicios y aplicaciones ...


Description

PRÁCTICA No. 5 CONVOLUCIÓN EN TIEMPO CONTINUO (CONVOLUCIÓN INTEGRAL) Y DISCRETO (CONVOLUCIÓN SUMA) EN MATLAB® 1. OBJETIVOS 1.1.

Objetivo General

• Realizar la convolución entre señales en tiempo continuo y discreto, utilizando MATLAB®. 1.2.

Objetivos Específicos

• Conocer los comandos, algoritmos y funciones necesarias para realizar la convolución entre señales, en tiempo continuo y discreto, en MATLAB®. • Identificar las características de la convolución en tiempo continuo y discreto. 2. JUSTIFICACIÓN La realización de esta práctica le permitirá al estudiante conocer y aplicar los conocimientos teóricos vistos en clase sobre la convolución en tiempo continuo (convolución integral) y la convolución en tiempo discreto (convolución suma). 3. MARCO TEÓRICO En el dominio del tiempo, la convolución puede considerarse como un método para encontrar la respuesta de estado cero de un sistema LTI (Lineal Invariante en el tiempo, Linear Time – Invariant). En otras palabras, 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 𝑡 = 0. La respuesta al impulso caracteriza por completo el comportamiento de cualquier sistema LTI. Esto es una propiedad básica de todos los sistemas LTI. En el caso en tiempo continuo, un impulso real de ancho cero y amplitud infinita no puede generarse en realidad y suele aproximarse físicamente como un pulso de gran amplitud y ancho estrecho; así la respuesta al impulso puede aproximarse como el comportamiento del sistema en respuesta a una entrada de elevada amplitud y extremada corta duración. 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 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. Teoría de Señales y Sistemas – Lab05, Convolución En Tiempo Continuo Y Discreto En MATLAB® (@Autor Ángelo Joseph Soto Vergel)

Página 1 de 13

3.1.

Convolución Integral o En Tiempo Continuo

Dadas dos señales continuas 𝑥(𝑡) y ℎ(𝑡), la convolución de estas señales está dada por: ∞

𝑦(𝑡) = 𝑥(𝑡) ∗ ℎ(𝑡) = ∫ 𝑥(𝜏)ℎ(𝑡 − 𝜏)𝑑𝜏 −∞

La salida 𝑦(𝑡) está dada como la superposición ponderada de respuestas al impulso recorridas en el tiempo por 𝜏.

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

En la integral de convolución, el tiempo 𝑡 determina el lugar relativo de ℎ(𝑡 − 𝜏) con respecto a 𝑥(𝜏). La convolución producirá un resultado diferente de cero sólo para aquellos valores de 𝑡 sobre los cuales ℎ(𝑡 − 𝜏) y 𝑥(𝜏) se encuentren en alias. La respuesta 𝑦(𝑡) para todo tiempo requiere la convolución para cada valor de 𝑡. Se debe evaluar el área del producto 𝑥(𝜏)ℎ(𝑡 − 𝜏) cuando 𝑡 varia. Variando las cantidades de 𝑡 para la función reflejada ℎ(−𝜏) pasándola por 𝑥(𝜏) por los valores seleccionados de 𝑡. Los pasos para desarrollar este procedimiento son los siguientes: a. Grafique 𝑥(𝜏) y ℎ(−𝜏) como funciones de 𝜏 . La función ℎ(−𝜏) es la versión de ℎ(𝜏) reflejada sobre el eje vertical. b. Grafique ℎ(𝑡 − 𝜏) para un valor cualquiera de 𝑡, tal como 𝑡 < 0. Observe que ℎ(𝑡 − 𝜏) es igual a ℎ(−𝜏) desplazada de tal forma que el origen de la gráfica de ℎ(−𝜏) se encuentra en 𝜏 = 𝑡. El producto 𝑥(𝜏)ℎ(𝑡 − 𝜏) se determina mediante la multiplicación de 𝑥(𝜏) y ℎ(𝑡 − 𝜏) punto por punto, respecto a 𝜏. c. Desplace ℎ(𝑡 − 𝜏) hacia la derecha, hasta que no exista un traslape diferente de cero entre ℎ(𝑡 − 𝜏) y 𝑥(𝜏). Suponga que el primer valor de 𝑡, para el que esto ocurre, es 𝑡 = 𝑎. d. Continúe desplazando ℎ(𝑡 − 𝜏) hacia la derecha, hasta pasar por 𝑡 = 𝑎. Determine el intervalo de tiempo 𝑎 ≤ 𝑡 < 𝑏 para el cual el producto 𝑥(𝜏)ℎ(𝑡 − 𝜏) tenga la misma forma analítica. Integre el producto 𝑥(𝜏)ℎ(𝑡 − 𝜏) como una función de 𝜏, con los límites de integración de 𝜏 = 𝑎 hasta 𝜏 = 𝑡. El resultado es la expresión para 𝑥(𝑡) ∗ ℎ(𝑡) para 𝑎 ≤ 𝑡 < 𝑏. e. Desplace ℎ(𝑡 − 𝜏) hacia la derecha hasta pasar 𝑡 = 𝑏. Determine el siguiente intervalo de tiempo 𝑏 ≤ 𝑡 < 𝑐 , para el que el producto 𝑥(𝜏)ℎ(𝑡 − 𝜏) tenga la misma forma Teoría de Señales y Sistemas – Lab05, Convolución En Tiempo Continuo Y Discreto En MATLAB® (@Autor Ángelo Joseph Soto Vergel)

Página 2 de 13

analítica. Integre el producto 𝑥(𝜏)ℎ(𝑡 − 𝜏) como una función de 𝜏 , con los límites de integración desde 𝜏 = 𝑏 hasta 𝜏 = 𝑡 , donde 𝑏 ≤ 𝑡 < 𝑐 . La integral se calcula parcialmente. f. Repita el patrón establecido en los pasos d y e, tantas veces como sea necesario, hasta que 𝑥(𝑡) ∗ ℎ(𝑡) sea calculado para toda 𝑡. Nota: Es importante aclarar que no siempre es necesario, en el procedimiento descrito, graficar las funciones para identificar los intervalos de la convolución. Un ejemplo de 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: 𝑥(𝑡 − 𝜏)ℎ(𝜏). Las variables 𝜆 y 𝜏 se usan indistintamente.

3.2.

Convolución Suma o 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: ∞

𝑥[𝑛] = ∑ 𝑥[𝑘]𝛿[𝑛 − 𝑘] 𝑘=−∞

Teoría de Señales y Sistemas – Lab05, Convolución En Tiempo Continuo Y Discreto En MATLAB® (@Autor Ángelo Joseph Soto Vergel)

Página 3 de 13

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 3. 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 𝑘 = 0 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. 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 4.

Teoría de Señales y Sistemas – Lab05, Convolución En Tiempo Continuo Y Discreto En MATLAB® (@Autor Ángelo Joseph Soto Vergel)

Página 4 de 13

Figura 4. 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 2 ≤ 𝑛 ≤ 6. 𝒇) La señal producto 𝑤𝑛 [𝑘] para el intervalo de corrimientos en el tiempo 6 < 𝑛 ≤ 11. 𝒈) La señal producto 𝑤𝑛 [𝑘] para el intervalo de corrimientos en el tiempo 11 < 𝑛 ≤ 15. 𝒉) La salida 𝑦[𝑛].

4. TRABAJO PREVIO Resuelva de forma teórica los siguientes ejercicios: a. Para las señales 𝑥[𝑛] y ℎ[𝑛] dadas, determine la convolución 𝑦[𝑛] = ℎ[𝑛] ∗ 𝑥[𝑛]: • •

𝑥[𝑛] = 1, −5 ≤ 𝑛 ≤ 5,

1 𝑛

ℎ[𝑛] = ( ) 𝑢[𝑛] 1 𝑛

2

𝑥[𝑛] = 𝛿[𝑛] + 2𝛿[𝑛 − 1] + ( ) 𝑢[𝑛], 2

1 𝑛

ℎ[𝑛] = ( ) 𝑢[𝑛] 2

Teoría de Señales y Sistemas – Lab05, Convolución En Tiempo Continuo Y Discreto En MATLAB® (@Autor Ángelo Joseph Soto Vergel)

Página 5 de 13

b. Halle la convolución 𝑦[𝑛] = ℎ[𝑛] ∗ 𝑥[𝑛] para cada uno de los dos pares de secuencias finitas dadas: 1 1 1 1 ℎ[𝑛] = {1, −1,1, −1} • 𝑥[𝑛] = {1, − , , − , 16} , •

2 4

8

𝑥[𝑛] = {1,2,3,0, −1},

ℎ[𝑛] = {2, −1,3,1, −2}

c. Determine gráficamente la convolución de los pares de señales mostrados en la figura.

d. Use la integral de convolución para hallar la respuesta 𝑦(𝑡) del sistema LTI con respuesta al impulso ℎ(𝑡) a la entrada 𝑥(𝑡): • 𝑥(𝑡) = (2 + 𝑡)𝑒 −2𝑡 𝑢(𝑡), ℎ(𝑡) = 𝑒 −𝑡 𝑢(𝑡) 𝑡 • 𝑥(𝑡) = 𝑒 −3𝑡 𝑢(𝑡), ℎ(𝑡) = 𝑟𝑒𝑐𝑡 (2) 5. ACTIVIDAD Convolución en tiempo continuo y 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.

Teoría de Señales y Sistemas – Lab05, Convolución En Tiempo Continuo Y Discreto En MATLAB® (@Autor Ángelo Joseph Soto Vergel)

Página 6 de 13

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. Esto implica que para realizar la convolución en tiempo continuo con la función conv será necesario recurrir a modificaciones en cuanto al vector de tiempo que mostrará el resultado de la convolución para que su representación sea la correcta. Por otra parte, el comando convnum realiza la convolución numérica de las señales X y Y, tanto en tiempo continuo como 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 continuo Calcule la convolución entre las señales: 𝑥(𝑡) = 3cos(0.5𝜋𝑡) y ℎ(𝑡) = 2tri(𝑡 − 1). Comandos %% Convolución en Tiempo Continuo ts = 0.005; %Intervalo de muestreo tx = -1:ts:1; %Variable de tiempo para la señal x(t) th = 0:ts:2; %Variable de tiempo para la señal h(t) x = 3*cos(0.5*pi*tx); %Generación de señal x(t) h = 2*tri(th-1); %Generación de la señal h(t) y1 = ts*conv(x,h); %Calcula la convolución y2 = convnum(x,h,ts); %Calcula la convolución con ADSP Toolbox ty = -1:ts:3; %Variable de tiempo para la convolución y(t) subplot(2,2,1),plot(tx,x),grid on xlabel('Tiempo (s)'),ylabel('Amplitud'),title('Señal Original x(t)') subplot(2,2,2),plot(th,h),grid on xlabel('Tiempo (s)'),ylabel('Amplitud'),title('Señal Original h(t)') subplot(2,2,3),plot(ty,y1),grid on xlabel('Tiempo (s)'),ylabel('Amplitud'),title('Señal de Convolución y(t)=x(t)*h(t)') subplot(2,2,4),plot(ty,y2),grid on xlabel('Tiempo (s)'),ylabel('Amplitud'),title('Señal de Convolución con ADSP Toolbox y(t)=x(t)*h(t)')

Teoría de Señales y Sistemas – Lab05, Convolución En Tiempo Continuo Y Discreto En MATLAB® (@Autor Ángelo Joseph Soto Vergel)

Página 7 de 13

Gráfica

Ejemplo 2: Cálculo de la convolución en tiempo discreto Calcule la convolución entre las señales: 𝑥[𝑛] = (0.8)𝑛 𝑢[𝑛] y ℎ[𝑛] = (0.4)𝑛 𝑢[𝑛]. 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]')

Teoría de Señales y Sistemas – Lab05, Convolución En Tiempo Continuo Y Discreto En MATLAB® (@Autor Ángelo Joseph Soto Vergel)

Página 8 de 13

Gráfica

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 continuas o 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 Para el ejemplo que nos ocupa, vamos a crear una función llamada ConvCon que permitirá calcular la convolución de dos señales continuas. Para ello, copie las siguientes sentencias en un fichero nuevo, desde el editor de MATLAB®, y guárdelo con el nombre ConvCon.m: function ConvCon(x,x_start,h,h_start,ts) %"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" % PROPÓSITO: % Calcular numéricamente y graficar la convolución integral de dos señales. % y(t) = x(t)*h(t). % La entrada, x(t), y la respuesta al impulso, h(t), serán graficadas, así % como la señal de convolución, y(y). % Teoría de Señales y Sistemas – Lab05, Convolución En Tiempo Continuo Y Discreto En MATLAB® (@Autor Ángelo Joseph Soto Vergel)

Página 9 de 13

% USO: % ConvCon(x,x_start,h,h_start,ts) % % 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. % ts --------> Intervalo de tiempo entre muestras (en segundos) % % ARGUMENTOS DE SALIDA: NO HAY % % COMENTARIOS: % Las señales 'x' y 'h' deben ser funciones definidas numéricamente, con % una única variable independiente, que debe ser 't'. El tiempo de muestreo % 'ts' debe ser el mismo que el de las señales 'x' y 'h' % % VER TAMBIÉN: % ConvDis %"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" % (C) NOMBRE ALUMNO, 2017. % Versión 1.0 %"""""""""""""""""""""""""""""""""""""""" expand = 0.1; total_length = length(x)+length(h)-1; t = x_start+h_start+ts*(0:total_length-1); t_min = min([x_start h_start t]); t_max = max([x_start+ts*length(x) h_start+ts*length(h) t]); y = ts*conv(x,h); y_min = min([x h y]); y_max = max([x h y]); tmin = t_min-expand*(t_max-t_min); tmax = t_max+expand*(t_max-t_min); ymin = y_min-expand*(y_max-y_min); ymax = y_max+expand*(y_max-y_min); x_time=x_start+ts*(0:length(x)-1); h_time=h_start+ts*(0:length(h)-1); subplot(3,1,1) plot([tmin x_time(1)-ts x_time x_time(length(x_time))+ts tmax],[0 0 x 0 0],'r') grid on, title('Señal de Entrada, x(t)') ylabel('Amplitud'), xlabel('Tiempo (segundos)') axis([tmin tmax min(x)-0.1 max(x)+0.1]) subplot(3,1,2) plot([tmin h_time(1)-ts h_time h_time(length(h_time))+ts tmax],[0 0 h 0 0],'g') grid on, title('Señal Respuesta al Impulso, h(t)') xlabel('Tiempo (segundos)'), ylabel('Amplitud') axis([tmin tmax min(h)-0.1 max(h)+0.1]) Teoría de Señales y Sistemas – Lab05, Convolución En Tiempo Continuo Y Discreto En MATLAB® (@Autor Ángelo Joseph Soto Vergel)

Página 10 de 13

subplot(3,1,3) plot([tmin t(1)-ts t tmax],[0 0 y 0],'b') grid on, title('Convolución y(t)= x(t)*h(t)') xlabel('Tiempo (segundos)'),ylabel('Amplitud') axis([tmin tmax ymin ymax]) end Finalmente, 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 % % 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); Teoría de Señales y Sistemas – Lab05, Convolución En Tiempo Continuo Y Discreto En MATLAB® (@Autor Ángelo Joseph Soto Vergel)

Página 11 de 13

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 los ejemplos 1 y 2 con las funciones creadas, se obtienen los siguie...


Similar Free PDFs