Está en la página 1de 21

lOMoARcPSD|33195239

02. TSS, Lab02 - Operaciones Básicas Sobre Señales En


Matlab
Teoria de señales y sistemas (Universidad Francisco de Paula Santander)

Studocu no está patrocinado ni avalado por ningún colegio o universidad.


Descargado por ????? Ayala B. (2021360863.ipn@gmail.com)
lOMoARcPSD|33195239

PRÁCTICA No. 2
OPERACIONES BÁSICAS SOBRE SEÑALES EN MATLAB®

1. OBJETIVOS

1.1. Objetivo General

• Realizar operaciones básicas sobre señales utilizando MATLAB®.

1.2. Objetivos Específicos

• Conocer los comandos, algoritmos y funciones necesarias para realizar operaciones


básicas de señales en MATLAB®.
• Identificar las operaciones a utilizar en cada una de las representaciones de una señal en
su expresión matemática.

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 las operaciones básicas sobre señales en MATLAB®.

3. MARCO TEÓRICO

Un aspecto de fundamental importancia en el estudio de señales es el uso de sistemas para


procesar o manipular señales. Este aspecto suele implicar una combinación de algunas
operaciones básicas. En particular, es posible identificar dos clases de operaciones:
operaciones efectuadas sobre variables dependientes y operaciones efectuadas sobre la
variable independiente.

3.1. Operaciones efectuadas sobre variables dependientes

• Escalamiento de amplitud. Considere una señal 𝑥(𝑡) . La señal 𝑦(𝑡) resultante del
escalamiento de amplitud aplicado a 𝑥(𝑡) se define mediante:

𝑦(𝑡) = 𝑐 ∗ 𝑥(𝑡)

Donde 𝑐 es el factor de escala. De acuerdo con lo anterior, el valor de 𝑦(𝑡) se obtiene


multiplicando el valor correspondiente de 𝑥(𝑡) por el escalar 𝑐. De manera similar para
señales en tiempo discreto:

𝑦[𝑛] = 𝑐 ∗ 𝑥[𝑛]

Teoría de Señales y Sistemas – Lab02, Operaciones Básicas Sobre Señales En MATLAB®


(@Autor Ángelo Joseph Soto Vergel)

Página 1 de 20

Descargado por ????? Ayala B. (2021360863.ipn@gmail.com)


lOMoARcPSD|33195239

1
Figura 1. Operación de escalamiento de amplitud: 𝒂) Señal en tiempo continuo 𝑥(𝑡) de amplitud 2 y
duración 2. 𝒃) Versión escalada en amplitud de 𝑥(𝑡) por un factor de 2.
• Suma. Considere dos señales 𝑥1 (𝑡) y 𝑥2 (𝑡). La señal 𝑦(𝑡) obtenida por la suma de estas
dos señales está definida por:

𝑦(𝑡) = 𝑥1 (𝑡) + 𝑥2 (𝑡)

De modo similar para señales en tiempo discreto:

𝑦[𝑛] = 𝑥1 [𝑛] + 𝑥2 [𝑛]

Figura 2. Operación de suma: 𝑦3 (𝑡) = 𝑦1 (𝑡) + 𝑦2 (𝑡). Las amplitudes de las señales 𝑦1 (𝑡) y 𝑦2 (𝑡) se suman
en los instantes de tiempo correspondientes para formar la señal 𝑦3 (𝑡).
• Multiplicación. La señal 𝑦(𝑡) resultante de la multiplicación de dos señales 𝑥1 (𝑡) y 𝑥2 (𝑡)
está definida por:

𝑦(𝑡) = 𝑥1 (𝑡) ∗ 𝑥2 (𝑡)

Es decir, en cada tiempo pre-escrito 𝑡 el valor de 𝑦(𝑡) está dado por el producto de los
valores correspondientes de 𝑥1 (𝑡) y 𝑥2 (𝑡). De manera similar para señales discretas:

𝑦[𝑛] = 𝑥1 [𝑛] ∗ 𝑥2 [𝑛]

Teoría de Señales y Sistemas – Lab02, Operaciones Básicas Sobre Señales En MATLAB®


(@Autor Ángelo Joseph Soto Vergel)

Página 2 de 20

Descargado por ????? Ayala B. (2021360863.ipn@gmail.com)


lOMoARcPSD|33195239

Figura 3. Operación de multiplicación: 𝑦3 (𝑡) = 𝑦1 (𝑡) ∗ 𝑦2 (𝑡). Las amplitudes de las señales 𝑦1 (𝑡) y
𝑦2 (𝑡) se multiplican en los instantes de tiempo correspondientes para formar la señal 𝑦3 (𝑡).
• Diferenciación. La derivada de 𝑥(𝑡) con respecto al tiempo se define como:

𝑑
𝑦(𝑡) = 𝑥(𝑡)
𝑑𝑡

𝑑 𝑑
Figura 4. Operación de diferenciación: 𝑦(𝑡) = 𝑑𝑡 𝑥(𝑡) = 𝑑𝑡 sin(𝜔0 𝑡) = cos(𝜔0 𝑡).

• Integración. La integral de 𝑥(𝑡) con respecto al tiempo se define como:


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

Donde 𝜏 es la variable de integración.

𝑡 𝑡
Figura 5. Operación de integración: 𝑦(𝑡) = ‫׬‬−∞ 𝑥(𝑡)𝑑𝑡 = ‫׬‬−∞ cos(𝜔0 𝑡) 𝑑𝑡 = sin(𝜔0 𝑡).

Teoría de Señales y Sistemas – Lab02, Operaciones Básicas Sobre Señales En MATLAB®


(@Autor Ángelo Joseph Soto Vergel)

Página 3 de 20

Descargado por ????? Ayala B. (2021360863.ipn@gmail.com)


lOMoARcPSD|33195239

3.2. Operaciones efectuadas sobre la variable independiente

• Escalamiento de tiempo. Es la operación de compresión o expansión en el tiempo. La


señal 𝑦(𝑡) obtenida por el escalamiento de la variable independiente, tiempo 𝑡, por un
factor 𝑎 se define como:

𝑦(𝑡) = 𝑥(𝑎 ∗ 𝑡)

Si 𝑎 > 1, la señal 𝑦(𝑡) es una versión comprimida de 𝑥(𝑡). Si, por otro lado, 0 < 𝑎 < 1, la
señal 𝑦(𝑡) es una versión expandida (alargada) de 𝑥(𝑡). Estas dos operaciones se ilustran
en la figura 6.

Figura 6. Operación de escalamiento de tiempo: 𝒂) Señal en tiempo continuo 𝑥(𝑡). 𝒃) Versión comprimida
de 𝑥(𝑡) por un factor de 2. 𝒄) Versión expandida de 𝑥(𝑡) por un factor de 2.

En el caso de tiempo discreto:

𝑦[𝑛] = 𝑥[𝑘 ∗ 𝑛]

Donde 𝑘 se define solo para valores enteros y con las mismas observaciones del factor 𝑎.
Es importante mencionar que cuando 𝑘 > 1 , algunos valores de la señal en tiempo
discreto 𝑦[𝑛] se pierden, como se ilustra en la figura 7.

Figura 7. Efecto de escalamiento de tiempo en una señal en tiempo discreto: 𝒂) Señal en tiempo discreto
𝑥[𝑛]. 𝒃) Versión comprimida de 𝑥[𝑛] por un factor de 2, con algunos valores de la 𝑥[𝑛] original perdidos
como resultado de la compresión.

Teoría de Señales y Sistemas – Lab02, Operaciones Básicas Sobre Señales En MATLAB®


(@Autor Ángelo Joseph Soto Vergel)

Página 4 de 20

Descargado por ????? Ayala B. (2021360863.ipn@gmail.com)


lOMoARcPSD|33195239

• Reflexión. Sea 𝑦(𝑡) la señal obtenida al sustituir la variable de tiempo 𝑡 con −𝑡, como se
muestra mediante:

𝑦(𝑡) = 𝑥(−𝑡)

La señal 𝑦(𝑡) representa la versión reflejada de 𝑥(𝑡) en torno al eje de amplitud, lo que es
equivalente a “doblar” la señal (rotación de 180° ) en torno a la línea 𝑡 = 0 o simplemente a
intercambiar el “pasado” y el “futuro” de la señal de tiempo. Los siguientes dos casos son de
interés especial:

o Señales pares, para las cuales 𝑥(−𝑡) = 𝑥(𝑡) para todo 𝑡; es decir, una señal par es la
misma que su versión reflejada.
o Señales impares, para las cuales se tiene que 𝑥(−𝑡) = −𝑥(𝑡) para todo 𝑡; es decir, una señal
impar es el negativo de su versión reflejada.

Nota: El tema de las señales pares e impares se estudiarán en detalle en una práctica
posterior.

Se aplican observaciones similares a las señales en tiempo discreto, teniendo:

𝑦[𝑛] = 𝑥[−𝑛]

Figura 8. Operación de reflexión: 𝒂) Señal en tiempo continuo 𝑥(𝑡). 𝒃) Versión reflejada de 𝑥(𝑡) alrededor
del origen.
• Corrimiento en tiempo o desplazamiento. La versión desplazada de 𝑥(𝑡) se define
como:

𝑦(𝑡) = 𝑥(𝑡 − 𝑡0 )

Donde 𝑡0 es un número real que representa el corrimiento en el tiempo. Si 𝑡0 > 0 ,


entonces la señal es retrasada 𝑡0 unidades de tiempo, es decir, la forma de onda que
representa 𝑥(𝑡) se corre intacta a la derecha, con respecto al eje de tiempo. Físicamente,
𝑡0 no puede tomar valores negativos, pero desde un punto de vista analítico, si 𝑡0 < 0,
entonces la señal es adelantada 𝑡0 unidades de tiempo, es decir, la forma de onda se
corre a la izquierda.

Teoría de Señales y Sistemas – Lab02, Operaciones Básicas Sobre Señales En MATLAB®


(@Autor Ángelo Joseph Soto Vergel)

Página 5 de 20

Descargado por ????? Ayala B. (2021360863.ipn@gmail.com)


lOMoARcPSD|33195239

Figura 9. Operación de corrimiento en el tiempo: 𝒂) Señal en tiempo continuo 𝑥(𝑡), de amplitud 1 y


duración 1, simétrica en torno al origen. 𝒃) Versión recorrida o desplazada de 𝑥(𝑡) en 2 unidades de
tiempo.
En el caso de una señal en tiempo discreto 𝑥[𝑛], se define la versión desplazada en el
tiempo como:

𝑦[𝑛] = 𝑥[𝑛 − 𝑚]

Donde el corrimiento 𝑚 debe ser un número entero; éste puede ser positivo o negativo.

3.3. Regla de la precedencia para el corrimiento en el tiempo y el escalamiento en


el tiempo

Sea una señal 𝑦(𝑡) que se obtiene de otra señal 𝑥(𝑡) por medio de una combinación de
corrimiento en el tiempo y escalamiento en el tiempo, como se describe a continuación:

𝑦(𝑡) = 𝑥(𝑎 ∗ 𝑡 − 𝑡0 )

Esta relación cumple las siguientes condiciones:

𝑡
𝑦(0) = 𝑥(−𝑡0 ) y 𝑦 ( 𝑎0 ) = 𝑥(0)

Las cuales brindan útiles comprobaciones en 𝑦(𝑡) en términos de valores correspondientes


de 𝑥(𝑡).

Para obtener correctamente 𝑦(𝑡) a partir de 𝑥(𝑡) , las operaciones de corrimiento y


escalamiento de tiempo deben efectuarse en el orden correcto. El orden apropiado se basa
en el hecho de que la operación de escalamiento siempre sustituye a 𝑡 por 𝑎 ∗ 𝑡, en tanto que
la operación de corrimiento siempre remplaza 𝑡 por 𝑡 − 𝑡0. En consecuencia, la operación de
corrimiento se efectúa primero sobre 𝑥(𝑡), lo que origina una señal intermedia 𝑣(𝑡) definida
por:

Teoría de Señales y Sistemas – Lab02, Operaciones Básicas Sobre Señales En MATLAB®


(@Autor Ángelo Joseph Soto Vergel)

Página 6 de 20

Descargado por ????? Ayala B. (2021360863.ipn@gmail.com)


lOMoARcPSD|33195239

𝑣(𝑡) = 𝑥(𝑡 − 𝑡0 )

Luego, la operación de escalamiento de tiempo se realiza sobre 𝑣(𝑡), produciéndose la salida


deseada.

𝑦(𝑡) = 𝑣(𝑎 ∗ 𝑡) = 𝑥(𝑎 ∗ 𝑡 − 𝑡0 )

Se aplican comentarios similares al caso de señales en tiempo discreto, obteniendo:

𝑦[𝑛] = 𝑣[𝑘 ∗ 𝑛] = 𝑥[𝑘 ∗ 𝑛 − 𝑚]

Figura 10. Regla de la precedencia aplicada correctamente: 𝒂) Señal en tiempo continuo 𝑥(𝑡), de amplitud
1 y duración 2, simétrica en torno al origen. 𝒃) Señal intermedia 𝑣(𝑡), representando la versión recorrida
en el tiempo de 𝑥(𝑡) en 3 unidades de tiempo. 𝒄) Señal deseada 𝑦(𝑡), resultado de la compresión de 𝑣(𝑡)
por un factor de 2.

Figura 11. Regla de la precedencia aplicada incorrectamente: 𝒂) Señal en tiempo continuo 𝑥(𝑡), de
amplitud 1 y duración 2, simétrica en torno al origen. 𝒃) Señal escalada en el tiempo 𝑥(2𝑡). 𝒄) Señal 𝑦(𝑡)
obtenida recorriendo 𝑥(2𝑡) 3 unidades de tiempo.

Teoría de Señales y Sistemas – Lab02, Operaciones Básicas Sobre Señales En MATLAB®


(@Autor Ángelo Joseph Soto Vergel)

Página 7 de 20

Descargado por ????? Ayala B. (2021360863.ipn@gmail.com)


lOMoARcPSD|33195239

4. TRABAJO PREVIO

Resuelva de forma teórica los siguientes ejercicios:

a. Para la señal 𝑥(𝑡) dada como:


𝑡, −1<𝑡 <0
𝑥(𝑡) = {1, 1<𝑡≤2
0, 𝑜𝑡𝑟𝑜𝑠 𝑣𝑎𝑙𝑜𝑟𝑒𝑠 𝑑𝑒 𝑡
grafique y halle las expresiones analíticas para las siguientes funciones:
• 𝑥(𝑡 − 2) 𝑡 1
• 𝑥 (− + 2)
3
• 𝑥(2𝑡 − 4)
• 𝑥(3 − 𝑡)

b. Para la señal de tiempo discreto mostrada en la figura, dibuje cada una de las señales
siguientes:
• 𝑥[2 − 𝑛] 𝑛+8
• 𝑥 [− ]
4
• 𝑥[3𝑛 − 4]
2 • 𝑥[2 − 𝑛] + 𝑥[3𝑛 − 4]
• 𝑥 [ 𝑛 + 1]
3

5. DESARROLLO DE LA PRÁCTICA

Operaciones efectuadas sobre variables dependientes


Escalamiento de amplitud
Sintaxis
• No aplica.

Descripción
Para realizar escalamiento de amplitud en MATLAB® basta con multiplicar mediante el
operador * una señal dada por un escalar. Así, por ejemplo, dada una señal 𝑥(𝑡) que se
desea escalar en una amplitud 𝐴, la sintaxis sería: A.*x(t). El punto “.” antes del operador *
se hace necesario siempre y cuando la variable de tiempo de la que depende la señal este
definida vectorialmente, en caso de que este definida simbólicamente se omite el punto.
Se aplican comentarios similares al caso de señales en tiempo discreto.

Teoría de Señales y Sistemas – Lab02, Operaciones Básicas Sobre Señales En MATLAB®


(@Autor Ángelo Joseph Soto Vergel)

Página 8 de 20

Descargado por ????? Ayala B. (2021360863.ipn@gmail.com)


lOMoARcPSD|33195239

Comandos
%% Escalamiento de Amplitud en Tiempo Continuo y Discreto
A = 5; %Factor de Escalamiento de amplitud
Fs = 10000; %Frecuencia de Muestreo
f = 0.1; %Frecuencia Fundamental Hz
T = 3*(1/f); %Número de Periodos a Graficar
t = 0:1/Fs:T-1/Fs; %Tiempo de Simulación
xt = A.*sin(2*pi*f.*t); %Generación de Señal
subplot(2,1,1),plot(t,xt),grid on,ylim([-A A]) %Grafica
xlabel('Tiempo (s)'),ylabel('Amplitud'), title('x(t)')
n = 0:T; %Vector de Tiempo Dicreto
xn = A.*sin(2*pi*f.*n); %Generación de Señal x[n]
subplot(2,1,2),stem(n,xn),grid on,ylim([-A A]) %Grafica
xlabel('Tiempo (n)'),ylabel('Amplitud'), title('x[n]')
Gráfica

Suma
Sintaxis
• No aplica.

Descripción
Para realizar la suma de dos señales en MATLAB® se requiere, además de utilizar el
operador +, que las dos señales a sumar compartan la misma variable de tiempo; ya sea un
vector (variable de tiempo numérica) o una variable simbólica.

Teoría de Señales y Sistemas – Lab02, Operaciones Básicas Sobre Señales En MATLAB®


(@Autor Ángelo Joseph Soto Vergel)

Página 9 de 20

Descargado por ????? Ayala B. (2021360863.ipn@gmail.com)


lOMoARcPSD|33195239

Comandos
%% Suma de Señales en Tiempo Continuo y Discreto
A = 5; %Amplitud
Fs = 10000; %Frecuencia de Muestreo
f1 = 0.1; %Frecuencia Fundamental de la Señal x1(t) Hz
f2 = 0.2; %Frecuencia Fundamental de la Señal x2(t) Hz
t = 0:1/Fs:30; %Tiempo de Simulación
x1t = A.*sin(2*pi*f1.*t); %Generación de Señal x1(t)
x2t = A.*cos(2*pi*f2.*t); %Generación de Señal x2(t)
yt = x1t + x2t; %Señal suma y(t)=x1(t)+x2(t)
subplot(2,1,1),plot(t,yt),grid on %Grafica
xlabel('Tiempo (s)'),ylabel('Amplitud'), title('y(t)=x1(t)+x2(t)')
n = 0:30; %Vector de Tiempo Dicreto
x1n = A.*sin(2*pi*f1.*n); %Generación de Señal x1[n]
x2n = A.*cos(2*pi*f2.*n); %Generación de Señal x2[n]
yn = x1n + x2n; %Señal suma y[n]=x1[n] + x2[n]
subplot(2,1,2),stem(n,yn),grid on %Grafica
xlabel('Tiempo (n)'),ylabel('Amplitud'), title('y[n]=x1[n]+x2[n]')
Gráfica

Multiplicación
Sintaxis
• No aplica.

Descripción
Para este caso se aplica la misma descripción que para el “Escalamiento de Amplitud”
teniendo en cuenta que el parámetro 𝐴 ahora no será un escalar sino una señal.

Teoría de Señales y Sistemas – Lab02, Operaciones Básicas Sobre Señales En MATLAB®


(@Autor Ángelo Joseph Soto Vergel)

Página 10 de 20

Descargado por ????? Ayala B. (2021360863.ipn@gmail.com)


lOMoARcPSD|33195239

Comandos
%% Multiplicación de Señales en Tiempo Continuo y Discreto
A = 5; %Amplitud
Fs = 10000; %Frecuencia de Muestreo
f1 = 0.1; %Frecuencia Fundamental de la Señal x1(t) Hz
f2 = 0.2; %Frecuencia Fundamental de la Señal x2(t) Hz
t = 0:1/Fs:30; %Tiempo de Simulación
x1t = A.*sin(2*pi*f1.*t); %Generación de Señal x1(t)
x2t = A.*cos(2*pi*f2.*t); %Generación de Señal x2(t)
yt = x1t .* x2t; %Señal suma y(t)=x1(t)*x2(t)
subplot(2,1,1),plot(t,yt),grid on %Grafica
xlabel('Tiempo (s)'),ylabel('Amplitud'), title('y(t)=x1(t)*x2(t)')
n = 0:30; %Vector de Tiempo Dicreto
x1n = A.*sin(2*pi*f1.*n); %Generación de Señal x1[n]
x2n = A.*cos(2*pi*f2.*n); %Generación de Señal x2[n]
yn = x1n .* x2n; %Señal suma y[n]=x1[n] * x2[n]
subplot(2,1,2),stem(n,yn),grid on %Grafica
xlabel('Tiempo (n)'),ylabel('Amplitud'), title('y[n]=x1[n]*x2[n]')
Gráfica

Diferenciación
Sintaxis
• diff(x,n,dim)

Descripción
diff permite calcular la derivada de una expresión matemática, el argumento x es dicha
expresión y puede ser tanto un vector(numérica) como una función simbólica. El argumento n

Teoría de Señales y Sistemas – Lab02, Operaciones Básicas Sobre Señales En MATLAB®


(@Autor Ángelo Joseph Soto Vergel)

Página 11 de 20

Descargado por ????? Ayala B. (2021360863.ipn@gmail.com)


lOMoARcPSD|33195239

es el grado de la derivada que se desea calcular, por ejemplo, para un n=2, diff calculará
la segunda derivada de la expresión x. Finalmente, el argumento dim es la dimensión en la
cual se desea calcular la derivada siempre y cuando x sea una matriz de tamaño superior al
especificado en dim. Los argumentos n y dim son opcionales y para el caso de estudio que
compete a esta práctica no será necesario definirlos, pues al omitir n en el comando diff,
éste asume el cálculo de una derivada de grado 1.
Comandos
Para generar una señal que sea la derivada de otra señal en MATLAB® se tienen dos opciones: la primera es
creando una señal simbólica que represente la señal original, luego se calcula la derivada con el comando diff y
finalmente se hace una sustitución de la variable simbólica de tiempo por un vector de tiempo; la segunda
opción es realizar la diferenciación de forma aproximada con la señal definida mediante el vector de tiempo
directamente. A continuación, se presentan ejemplos de ambos casos.
%% Diferenciación en Tiempo Continuo y Discreto
%--------Diferenciación Método Aproximado-------------
Fs = 200; %Frecuencia de Muestreo
t = 0:1/Fs:2*pi; %Tiempo de Simulación
xt = sin(t); %Generación de Señal x(t)
yt = diff(xt).*Fs; %Cálculo de la derivada y(t)=x'(t)
subplot(2,2,1),plot(t(:,1:length(yt)),yt,'r',t,xt,'b'),legend('y(t)=Derivada de
x(t)','Señal Original x(t)'),grid on %Grafica
xlabel('Tiempo (s)'),ylabel('Amplitud'), title('x(t) y su Diferenciación - Método
Aproximado')
n = 0:7; %Vector de Tiempo Dicreto
xn = sin(n); %Generación de Señal x[n]
yn = diff(xn); %Cálculo de la derivada y[n]=x'[n]
subplot(2,2,2),stem(n(:,1:length(yn)),yn,'Color','r'),hold on,
stem(n,xn,'Color','b'),legend('y[n]=Derivada de x[n]','Señal Original x[n]'),grid
on %Grafica
xlabel('Tiempo (n)'),ylabel('Amplitud'), title('x[n] y su Diferenciación - Método
Aproximado')
%--------Diferenciación Método Simbólico(Exácto)-------------
syms tiempo;
Fs = 200; %Frecuencia de Muestreo
t = 0:1/Fs:2*pi; %Tiempo de Simulación
xt = sin(tiempo); %Generación de Señal x(t)
yt = diff(xt,tiempo); %Cálculo de la derivada y(t)=x'(t)
xt = double(subs(xt,tiempo,t)); %Cambio de variable
yt = double(subs(yt,tiempo,t)); %Cambio de variable
subplot(2,2,3),plot(t,yt,'r',t,xt,'b'),legend('y(t)=Derivada de x(t)','Señal
Original x(t)'),grid on %Grafica
xlabel('Tiempo (s)'),ylabel('Amplitud'), title('x(t) y su Diferenciación - Método
Simbólico(Exácto)')
n = 0:7; %Vector de Tiempo Dicreto
xn = sin(tiempo); %Generación de Señal x[n]
yn = diff(xn); %Cálculo de la derivada y[n]=x'[n]
xn = double(subs(xn,tiempo,n)); %Cambio de varible
yn = double(subs(yn,tiempo,n)); %Cambio de varible
subplot(2,2,4),stem(n,yn,'Color','r'),hold on,
stem(n,xn,'Color','b'),legend('y[n]=Derivada de x[n]','Señal Original x[n]'),grid
on %Grafica

Teoría de Señales y Sistemas – Lab02, Operaciones Básicas Sobre Señales En MATLAB®


(@Autor Ángelo Joseph Soto Vergel)

Página 12 de 20

Descargado por ????? Ayala B. (2021360863.ipn@gmail.com)


lOMoARcPSD|33195239

xlabel('Tiempo (n)'),ylabel('Amplitud'), title('x[n] y su Diferenciación - Método


Simbólico(Exácto)')
Gráfica

Integración
Sintaxis
• int(expr,var,a,b,Name,Value)

Descripción
El comando int que permite calcular tanto integrales definidas como indefinidas con
respecto a una variable simbólica var. Especificar la variable simbólica var es opcional, si
no se especifica int utiliza la variable predeterminada por symvar, es decir, la única
variable simbólica de la expresión expr, en caso de que expr tenga más de una variable
simbólica se deberá especificar con respecto a cuál se desea integrar. Los argumentos a y b
permiten evaluar la integral en intervalos definidos desde a hasta b. Finalmente, los
argumentos Name y Value son opcionales y permiten especificar funcionalidades adicionales
sobre cómo se debe evaluar la integral, para esta práctica no será necesario profundizar en
ello.

Es importante mencionar que el comando int no admite en su argumento expr funciones


definidas con vectores de tiempo, por lo cual, es necesario realizar la operación de
integración de forma simbólica y luego sustituir la variable de tiempo por su equivalente
vectorial. Un ejemplo similar se realizó para la operación de diferenciación.

Teoría de Señales y Sistemas – Lab02, Operaciones Básicas Sobre Señales En MATLAB®


(@Autor Ángelo Joseph Soto Vergel)

Página 13 de 20

Descargado por ????? Ayala B. (2021360863.ipn@gmail.com)


lOMoARcPSD|33195239

Comandos
%% Integración en Tiempo Continuo y Discreto
syms tiempo;
Fs = 200; %Frecuencia de Muestreo
t = 0:1/Fs:2*pi; %Tiempo de Simulación
xt = sin(tiempo); %Generación de Señal x(t)
yt = int(xt,tiempo); %Cálculo de la integral y(t)=integral de x(t)
xt = double(subs(xt,tiempo,t)); %Cambio de variable
yt = double(subs(yt,tiempo,t)); %Cambio de variable
subplot(2,1,1),plot(t,yt,'r',t,xt,'b'),legend('y(t)=Integral de x(t)','Señal
Original x(t)'),grid on %Grafica
xlabel('Tiempo (s)'),ylabel('Amplitud'), title('x(t) y su Integración')
n = 0:7; %Vector de Tiempo Dicreto
xn = sin(tiempo); %Generación de Señal x[n]
yn = int(xn); %Cálculo de la derivada y[n]=x'[n]
xn = double(subs(xn,tiempo,n)); %Cambio de varible
yn = double(subs(yn,tiempo,n)); %Cambio de varible
subplot(2,1,2),stem(n,yn,'Color','r'),hold on,
stem(n,xn,'Color','b'),legend('y[n]=Integral de x[n]','Señal Original x[n]'),grid
on %Grafica
xlabel('Tiempo (n)'),ylabel('Amplitud'), title('x[n] y su Integración')
Gráfica

Teoría de Señales y Sistemas – Lab02, Operaciones Básicas Sobre Señales En MATLAB®


(@Autor Ángelo Joseph Soto Vergel)

Página 14 de 20

Descargado por ????? Ayala B. (2021360863.ipn@gmail.com)


lOMoARcPSD|33195239

Operaciones efectuadas sobre la variable independiente


Escalamiento de tiempo
Sintaxis
• No aplica.

Descripción
Para este caso se aplica la misma descripción que para el “Escalamiento de Amplitud”
teniendo en cuenta la expresión que representa la operación de escalamiento de tiempo. En
términos matemáticos se podría decir que el escalamiento de tiempo es un cambio de
variable en de 𝑡 por 𝑎 ∗ 𝑡 en una función dada. A continuación, se presentan ejemplos para
casos en tiempo continuo y discreto, con escalamientos mayores y menores que 1; debe
observarse que para el caso de señales discretas con escalamiento de tiempo mayor a 1 hay
pérdida de datos tal como se expresó en la fundamentación teórica de esta práctica.
Comandos
%% Escalamiento de Tiempo en Tiempo Continuo y Discreto
A = 5; %Amplitud
Fs = 200; %Frecuencia de Muestreo
f = 0.1; %Frecuencia fundamental Hz
T = 3*(1/f); %Número de Periodos a Graficar
duty = 50; %Ciclo útil
t = 0:1/Fs:T-1/Fs; %Variable t de la señal x(t)
xt = A.*square(2*pi*f*t,duty); %Generación de Señal
yt1 = A.*square(2*pi*f*2*t,duty); %Señal escalada en el tiempo en un factor de 2
y1(t)=x(2t);
yt2 = A.*square(2*pi*f*0.5*t,duty); %Señal escalada en el tiempo en un factor de
0.5 y2(t)=x(0.5t);
subplot(2,3,1),plot(t,xt),grid on, ylim([-A-1 A+1]) %Grafica
xlabel(‘Tiempo (s)’),ylabel(‘Amplitud’), title(‘Señal Original x(t)’)
subplot(2,3,2),plot(t,yt1),grid on, ylim([-A-1 A+1]) %Grafica
xlabel(‘Tiempo (s)’),ylabel(‘Amplitud’), title(‘Señal Escalada en Tiempo
y1(t)=x(2t)’)
subplot(2,3,3),plot(t,yt2),grid on, ylim([-A-1 A+1]) %Grafica
xlabel(‘Tiempo (s)’),ylabel(‘Amplitud’), title(‘Señal Escalada en Tiempo
y2(t)=x(2t)’)
n = 0:T; %Vector de Tiempo Dicreto
xn = A.*square(2*pi*f*n,duty); %Generación de Señal x[n]
yn1 = A.*square(2*pi*f*2*n,duty); %Señal escalada en el tiempo en un factor de 2
y1[n]=x[2n]);
yn2 = A.*square(2*pi*f*0.5*n,duty); %Señal escalada en el tiempo en un factor de
0.5 y2[n]=x[0.5n]);
subplot(2,3,4),stem(n,xn),grid on, ylim([-A-1 A+1]) %Grafica
xlabel(‘Tiempo (n)’),ylabel(‘Amplitud’), title(‘y[n]=x[n]’)
subplot(2,3,5),stem(n,yn1),grid on, ylim([-A-1 A+1]) %Grafica
xlabel(‘Tiempo (n)’),ylabel(‘Amplitud’), title(‘y1[n]=x[2n]’)
subplot(2,3,6),stem(n,yn2),grid on, ylim([-A-1 A+1]) %Grafica
xlabel(‘Tiempo (n)’),ylabel(‘Amplitud’), title(‘y[n]=x[0.5n]’)

Teoría de Señales y Sistemas – Lab02, Operaciones Básicas Sobre Señales En MATLAB®


(@Autor Ángelo Joseph Soto Vergel)

Página 15 de 20

Descargado por ????? Ayala B. (2021360863.ipn@gmail.com)


lOMoARcPSD|33195239

Gráfica

Reflexión
Sintaxis
• No aplica.

Descripción
No existe algún comando especial para realizar esta operación; y podría seguirse un análisis
similar al de “Escalamiento de tiempo” tomando la reflexión como un cambio de variable de 𝑡
por −𝑡 en una función dada.
Comandos
%% Reflexión en Tiempo Continuo y Discreto
Fs = 200; %Frecuencia de muestreo
t = -5:1/Fs:5; %Variable de tiempo para x(t)
n = -5:5; %Variable de tiempo para x[n]
xt = ustep(t); %Generación de Señal Tiempo Continuo
yt = ustep(-t); %Reflexión de la señal y(t)=x(-t)
xn = ustep(n); %Generación de Señal Tiempo Discreto
yn = ustep(-n); %Reflexión de la señal y[n]=x[-n]
subplot(2,2,1),plot(t,xt),grid on,ylim([0 1.1]) %Grafica
xlabel('Tiempo (s)'),ylabel('Amplitud'), title('Señal Original x(t)')
subplot(2,2,2),plot(t,yt),grid on,ylim([0 1.1]) %Grafica
xlabel('Tiempo (s)'),ylabel('Amplitud'), title('y(t)=x(-t)')
subplot(2,2,3),stem(n,xn),grid on,ylim([0 1.1]) %Grafica
xlabel('Tiempo (s)'),ylabel('Amplitud'), title('Señal Original x[n]')
subplot(2,2,4),stem(n,yn),grid on,ylim([0 1.1]) %Grafica
xlabel('Tiempo (s)'),ylabel('Amplitud'), title('y[n]=x[-n]')

Teoría de Señales y Sistemas – Lab02, Operaciones Básicas Sobre Señales En MATLAB®


(@Autor Ángelo Joseph Soto Vergel)

Página 16 de 20

Descargado por ????? Ayala B. (2021360863.ipn@gmail.com)


lOMoARcPSD|33195239

Gráfica

Corrimiento en tiempo
Sintaxis
• No aplica.

Descripción
No existe algún comando especial para realizar esta operación; y podría seguirse un análisis
similar al de “Escalamiento de tiempo” tomando el corrimiento de tiempo como un cambio de
variable de 𝑡 por 𝑡 ± 𝑡0 en una función dada.
Comandos
%% Corrimiento en Tiempo o Desplazamiento en Tiempo Continuo y Discreto
Fs = 200; %Frecuencia de muestreo
t = -5:1/Fs:5; %Variable de tiempo para x(t)
n = -5:5; %Variable de tiempo para x[n]
xt = ustep(t); %Generación de Señal Tiempo Continuo
yt1 = ustep(t+2); %Desplazamiento de la señal y1(t)=x(t+2)
yt2 = ustep(t-2); %Desplazamiento de la señal y2(t)=x(t-2)
xn = ustep(n); %Generación de Señal Tiempo Discreto
yn1 = ustep(n+2); %Desplazamiento de la señal y1[n]=x[n+2]
yn2 = ustep(n-2); %Desplazamiento de la señal y2[n]=x[n-2]
subplot(2,3,1),plot(t,xt),grid on,ylim([0 1.1]) %Grafica
xlabel('Tiempo (s)'),ylabel('Amplitud'), title('Señal Original x(t)')
subplot(2,3,2),plot(t,yt1),grid on,ylim([0 1.1]) %Grafica
xlabel('Tiempo (s)'),ylabel('Amplitud'), title('y(t)=x(t+2)')
subplot(2,3,3),plot(t,yt2),grid on,ylim([0 1.1]) %Grafica
xlabel('Tiempo (s)'),ylabel('Amplitud'), title('y(t)=x(t-2)')

Teoría de Señales y Sistemas – Lab02, Operaciones Básicas Sobre Señales En MATLAB®


(@Autor Ángelo Joseph Soto Vergel)

Página 17 de 20

Descargado por ????? Ayala B. (2021360863.ipn@gmail.com)


lOMoARcPSD|33195239

subplot(2,3,4),stem(n,xn),grid on,ylim([0 1.1]) %Grafica


xlabel('Tiempo (s)'),ylabel('Amplitud'), title('Señal Original x[n]')
subplot(2,3,5),stem(n,yn1),grid on,ylim([0 1.1]) %Grafica
xlabel('Tiempo (s)'),ylabel('Amplitud'), title('y[n]=x[n+2]')
subplot(2,3,6),stem(n,yn2),grid on,ylim([0 1.1]) %Grafica
xlabel('Tiempo (s)'),ylabel('Amplitud'), title('y[n]=x[n-2]')
Gráfica

Operaciones Sobre Señales Con ADSP Toolbox


Sintaxis
• [ty,y]=operate(t,x,A,B)

Descripción
operate es una función que permite obtener versiones escaladas, reflejadas o desplazadas
en el tiempo de una señal. operate genera dos vectores que representan la señal de salida,
y, y el vector de tiempo correspondiente, ty; esta señal de salida es de la forma x(A*t+B),
donde los parámetros A y B son opcionales y sus valores por defecto son 1 y 0
respectivamente.

Es importante mencionar que esta función puede usarte tanto para tiempo continuo como
discreto.

Teoría de Señales y Sistemas – Lab02, Operaciones Básicas Sobre Señales En MATLAB®


(@Autor Ángelo Joseph Soto Vergel)

Página 18 de 20

Descargado por ????? Ayala B. (2021360863.ipn@gmail.com)


lOMoARcPSD|33195239

Ejemplo 1: Operaciones básicas sobre señales


Sea 𝑥(𝑡) = 2𝑢(𝑡 + 1) − 𝑟(𝑡 + 1) + 𝑟(𝑡 − 1) la entrada de un sistema, calcule la salida 𝑦(𝑡) =
𝑥(−2𝑡 + 5)
%% Operaciones sobre señales con ADSP Toolbox
t = -2:0.005:4; %Variable de tiempo para x(t)
xt = 2*ustep(t+1)-uramp(t+1)+uramp(t-1); %Generación de señal x(t)
[ty, y] = operate(t,xt,-2,5); %Genera la señal y(t)=x(-2t+5)
subplot(2,1,1),plot(t,xt),grid on %Grafica
xlabel('Tiempo (s)'),ylabel('Amplitud'), title('Señal Entrada x(t)')
subplot(2,1,2),plot(ty,y),grid on %Grafica
xlabel('Tiempo (s)'),ylabel('Amplitud'), title('Señal Salida y(t)=x(-2t+5)')
Gráfica

6. EVALUACIÓN

a. Verificar la regla de la precedencia, operando de forma correcta e incorrecta haciendo


uso de la función operate y proponiendo un código alternativo usando las diferentes
funciones analizadas en la práctica; para ello use la función 𝑥(𝑡) = 2𝑢(𝑡 + 1) −
𝑟(𝑡 + 1) + 𝑟(𝑡 − 1) como la entrada de un sistema y calcule la salida 𝑦(𝑡) = 𝑥(−2𝑡 +
5).

NOTA: Se deberá entregar un informe en formato pdf de los resultados en forma individual a
la siguiente semana de terminado la sesión de la práctica.

Teoría de Señales y Sistemas – Lab02, Operaciones Básicas Sobre Señales En MATLAB®


(@Autor Ángelo Joseph Soto Vergel)

Página 19 de 20

Descargado por ????? Ayala B. (2021360863.ipn@gmail.com)


lOMoARcPSD|33195239

7. BIBLIOGRAFÍA

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.).
Sistemas y Circuitos, Practica 2: Señales - Curso Académico 07/08. (2011). Madrid:
Departamento de Teoría de la Señal y Comunicaciones, Universidad Carlos III de
Madrid. Retrieved from http://www.tsc.uc3m.es/docencia/SyC/docs/Practica2_SyC_07-
08.pdf
The MathWorks Inc. (2017). MathWorks - Makers of MATLAB and Simulink. Retrieved April
10, 2017, from https://www.mathworks.com/

Teoría de Señales y Sistemas – Lab02, Operaciones Básicas Sobre Señales En MATLAB®


(@Autor Ángelo Joseph Soto Vergel)

Página 20 de 20

Descargado por ????? Ayala B. (2021360863.ipn@gmail.com)

También podría gustarte