Sunteți pe pagina 1din 14

SEÑALES Y SISTEMAS CON MATLAB

Sebastián Araujo

1
Índice
1. Gráfico de una señal periódica 3

2. Cálculo de la energía total y de la potencia media de una señal 3


2.1. Potencia de señales periódicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3. Gráfico de una función definida por pedazos 4

4. Transformaciones de la variable independiente 5

5. Señales elementales 5
5.1. Escalón unidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5.2. Pulso rectangular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.3. Función signo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.4. La función rampa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.5. La función de muestreo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.6. Impulso unidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.6.1. Desplazamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.6.2. Aproximación de un Dirac con sinc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

6. Convolución 11
6.1. Convolución de dos pulsos rectangulares que nos da como resultado un pulso triangular . . . 11
6.2. Otro ejemplo de convolución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2
1. Gráfico de una señal periódica
Graficar una señal periódica definida por:

f (t) = t

0<t<π

f (t) = f (t + π)

Usamos el código:

%gráfica una función periódica


t=0:0.1:pi;
ft=t;
for n=-3:3
tt=t+n*pi;
hold on
plot(tt,ft)
hold off
end

lo que nos produce:

2. Cálculo de la energía total y de la potencia media de una señal


Definimos la energía total como:
ˆ L
E = lim |f (t)|2 dt
L→∞ −L

y la potencia media como:

3
ˆ L
1
P = lim |f (t)|2 dt
L→∞ 2L −L

Para calcular la primera integral de forma simbólica podemos usar:

syms t
E=int(abs(f(t))^2,t,-inf,inf )

Para la potencia podemos primero integrar:

syms L
integral =int(abs(f(t))^2,-L,L)

y luego calcular el límite con:

P=limit(integral/(2*L),L,inf )

Para evaluar la integral como un número decimal:

format long
eval(E)
eval(P)

2.1. Potencia de señales periódicas


En este caso P está se calcula por:
ˆ T
1
P = |f (t)|2 dt
T 0
El cálculo es por la misma vía utilizando como variables syms t y T.

3. Gráfico de una función definida por pedazos


Graficar la función:



−t + 1 −1 6 t < 0

t 0≤t<2
x(t) =


2 2≤t≤3
0 t>3

%gráfica de una función definida a pedazos


t1=-1:0.01:0;
xt1=-t1+1;
plot(t1,xt1)
t2=0:0.01:2;
xt2=t2;
hold on
plot(t2,xt2)
t3=2:0.01:3;
xt3=2;
plot(t3,xt3)

4
t4=3:0.01:7;
xt4=0;
plot(t4,xt4)
hold off
axis([-2 7 -1 4])
xlabel(’t’)
ylabel(’x(t)’)
title(’Señal a trozos’)

Señal a trozos
4

3.5

2.5

2
x(t)

1.5

0.5

−0.5

−1
−2 −1 0 1 2 3 4 5 6 7
t

4. Transformaciones de la variable independiente


Calcular y graficar basado en el ejemplo anterior la señal:

x(−3t − 2)

5. Señales elementales
5.1. Escalón unidad
heaviside

%ejemplo de paso unitario en 5


t=-10:.1:10;
paso5=heaviside(t-5);
plot(t,paso5)
axis([-10 10 -2 2])
xlabel(’t’)
ylabel(’u(t)’)
title(’Paso unitario en 5’)

5
Paso unitario en 5
2

1.5

0.5
u(t)

−0.5

−1

−1.5

−2
−10 −8 −6 −4 −2 0 2 4 6 8 10
t

Calcular y graficar:

x(t) = u(t + 2) − 2u(t + 1) + 2u(t) − u(t − 2) − 2u(t − 3) + 2u(t − 4)

5.2. Pulso rectangular


rectpuls
Un pulso rectangular centrado en 2 de ancho 4 y de amplitud 5:

%pulso rectangular
t=-10:0.01:10;
pulsorec=5*rectpuls(t-2,4);
plot(t,pulsorec)
title(’Pulso rectangular’)
xlabel(’t’)
axis([-10 10 0 6])

6
Pulso rectangular
6

0
−10 −8 −6 −4 −2 0 2 4 6 8 10
t

5.3. Función signo


Graficar sign(t-5)

%función signo en 5
t=-10:.1:10;
signo5=sign(t-5);
plot(t,signo5)
axis([-10 10 -2 2])
xlabel(’t’)
ylabel(’sign(t)’)
title(’Signo en 5’)

7
Signo en 5
2

1.5

0.5
sign(t)

−0.5

−1

−1.5

−2
−10 −8 −6 −4 −2 0 2 4 6 8 10
t

5.4. La función rampa


ramp

5.5. La función de muestreo


Graficar la función seno cardinal.

%gráfico del sinc


t=-10:.1:10;
sapi=sinc(t);
plot(t,sapi)
axis([-10 10 -2 2])
xlabel(’t’)
ylabel(’sinc(t)’)
title(’Sinc de t’)

8
Sinc de t
2

1.5

0.5
sinc(t)

−0.5

−1

−1.5

−2
−10 −8 −6 −4 −2 0 2 4 6 8 10
t

5.6. Impulso unidad


Usamos dirac
t=-10:0.1:10;
plot(t,dirac(t-2))
xlabel(’t’)
ylabel(’dirac(t-2)’)
title(’Un delta de Dirac en t=2’)
Un delta de Dirac en t=2
1

0.8

0.6

0.4

0.2
dirac(t−2)

−0.2

−0.4

−0.6

−0.8

−1
−10 −8 −6 −4 −2 0 2 4 6 8 10
t

9
5.6.1. Desplazamiento
Propiedades del delta de Dirac en variable simbólica

syms x
x1=x^2+1
dirac(x-3)
%desplazamiento
int(dirac(x-3)*x1,-inf,inf )
%derivación
diff(heaviside(x-3))
%desplazamiento con la derivada del Dirac
diracprim=diff(dirac(x-3))
int(x1*diracprim,-inf,inf )

5.6.2. Aproximación de un Dirac con sinc


Escalamos y aumentamos la amplitud del seno cardinal:

t=-10:0.1:10;
diracsinc=100*sinc(100*t);
plot(t,diracsinc)
title(’Dirac aproximado con un seno cardinal’)
xlabel(’t’)
ylabel(’100*sinc(100*t)’)

Dirac aproximado con un seno cardinal


100

80

60
100*sinc(100*t)

40

20

−20
−10 −8 −6 −4 −2 0 2 4 6 8 10
t

10
6. Convolución
6.1. Convolución de dos pulsos rectangulares que nos da como resultado un
pulso triangular

y(t) = rect(t) ∗ rect(t)


ˆ ∞
y(t) = rect(τ )rect(t − τ )dτ
−∞

t=-10:0.1:10;
y=conv(rectpuls(t),rectpuls(t));
plot(y)

Graficar la nueva señal redefiniendo correctamente el nuevo vector t. Verificar length(y) y length(t).
t=-10:0.1/2:10;
plot(t,y)

6.2. Otro ejemplo de convolución

x1 (t) = 3e−t 0≤t<∞


t
x2 (t) = 0≤t<2
2
Graficar las funciones, calcular la convolución, graficar el resultado:

y(t) = x1 (t) ∗ x2 (t)


Podemos expresar nuestras funciones usando pasos unitarios:

%convolución y gráficos de dos funciones


t=-10:0.01:10;
x1=3*exp(-t).*heaviside(t);
subplot(3,1,1)
plot(t,x1) x2=(t/2).*heaviside(-(t-2)).*heaviside(t);
subplot(3,1,2) plot(t,x2)
y=conv(x1,x2)
t=-10:0.01/2:10;
subplot(3,1,3)
plot(t,y)

11
3

0
−10 −8 −6 −4 −2 0 2 4 6 8 10

0.5

0
−10 −8 −6 −4 −2 0 2 4 6 8 10

0.5

−0.5

−1
−10 −8 −6 −4 −2 0 2 4 6 8 10

Matlab tiene conflicto al usar heviside y dirac (symbolic toolbox) dentro de la operación convolución. El
resultado por lo tanto no es válido. La solución consiste en usar funciones del signal processing toolbox, en
este caso sirve rectpuls.

%convolución y gráficos de dos funciones usando rectpuls


t=-10:0.01:10;
x1=3*exp(-t).*rectpuls(t-5,10);
subplot(3,1,1)
plot(t,x1)
ylabel(’x1(t)’)
x2=(t/2).*rectpuls(t-1,2);
subplot(3,1,2)
plot(t,x2)
ylabel(’x2(t)’)
y=conv(x1,x2);
t=-10:0.01/2:10;
subplot(3,1,3)
plot(t,y)
title(’Convolucion de las dos funciones’)
xlabel(’t’)

12
3

x1(t) 2

0
−10 −8 −6 −4 −2 0 2 4 6 8 10

1
x2(t)

0.5

0
−10 −8 −6 −4 −2 0 2 4 6 8 10

Convolucion de las dos funciones


200

150

100

50

0
−10 −8 −6 −4 −2 0 2 4 6 8 10
t

13
Referencias
[1] Mari J.-L, Glangeaud, F., Coppens, F., 1997, Traitament du signal pour géologues et géophysiciens,
Éditions Technip.
[2] Soliman S.S., D.S. Mandyam, 1999, Señales y sistemas continuos y discretos, Prentice Hall.

14

S-ar putea să vă placă și