Sei sulla pagina 1di 14

SEÑALES Y SISTEMAS CON MATLAB

SEÑALES Y SISTEMAS CON MATLAB Sebastián Araujo 1

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:

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:

  f(t) = t 0 < t < π

 

f(t) = f(t + π)

t 0 < t < π    f ( t ) = f (

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

Definimos la energía total como:

y la potencia media como:

E =

L→∞ ˆ

lim

L

L |f(t)| 2 dt

3

P =

lim

L→∞

L

2L ˆ L |f(t)| 2 dt

1

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:

P =

T ˆ T

1

0

|f(t)| 2 dt

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:

x(t) =

t + 1

t

2

0

1 t < 0 0 t < 2 2 t 3 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

x(t)

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

3

2.5

2

1.5

1

0.5

0

−0.5

−1 −2

2 1.5 1 0.5 0 −0.5 −1 −2 −1 0 1 2 3 4 5 6

−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

u(t)

Paso unitario en 5

2 1.5 1 0.5 0 −0.5 −1 −1.5 −2 −10 −8 −6 −4 −2 0
2
1.5
1
0.5
0
−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 5 4 3 2 1 0 −10 −8 −6 −4 −2 0 2 4
6
5
4
3
2
1
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 1 0.5 0 −0.5 −1 −1.5 −2 −10 −8 −6 −4 −2 0
2
1.5
1
0.5
0
−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
sign(t)

Sinc de t

2 1.5 1 0.5 0 −0.5 −1 −1.5 −2 −10 −8 −6 −4 −2 0
2
1.5
1
0.5
0
−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
0
−0.2
−0.4
−0.6
−0.8
−1 −10
−8
−6
−4
−2
0
2
4
6
8
10
t
9
dirac(t−2)
sinc(t)

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 40 20 0 −20 −10 −8 −6 −4 −2 0 2 4
100
80
60
40
20
0
−20 −10
−8
−6
−4
−2
0
2
4
6
8
10
t
10
100*sinc(100*t)

6. Convolución

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

t=-10:0.1:10;

y=conv(rectpuls(t),rectpuls(t));

plot(y)

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

y(t) = ˆ

−∞

rect(τ )rect(t τ )

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

x 1 (t)

x 2 (t)

=

=

3e t

t

2

0 t <

0 t < 2

Graficar las funciones, calcular la convolución, graficar el resultado:

y(t) = x 1 (t) x 2 (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

     

2

   
2        
   

1

0

     

−10

−8

−6

−4

−2

0

2

4

6

8

10

1

     

0.5

   
0.5      
 

0

     

−10

−8

−6

−4

−2

0

2

4

6

8

10

1

     

0.5

     

0

−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 2 1 0 −10 −8 −6 −4 −2 0 2 4 6 8 10
3
2
1
0
−10
−8
−6
−4
−2
0
2
4
6
8
10
1
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
x2(t)
x1(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