Professional Documents
Culture Documents
Sebastián Araujo
31 de enero de 2010
Resumen
Este documento contiene una serie de ejercicios aplicativos a la materia de señales y sistemas resueltos
utilizando Matlab.
1
Índice
1. Gráfico de una señal periódica 3
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
9. Análisis de Fourier 17
9.1. Espectro de amplitud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
9.2. Espectro de fase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
9.3. Teorema de Parseval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
9.4. Espectro de energía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
9.5. Espectro de potencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
9.6. Cálculo y graficación de espectros en señales discretas . . . . . . . . . . . . . . . . . . . . . . 19
11.Filtro de Butterworth 22
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:
3
ˆ L
1
P = lim |f (t)|2 dt
L→∞ 2L −L
syms t
E=int(abs(f(t))^2,t,-inf,inf )
syms L
integral =int(abs(f(t))^2,-L,L)
P=limit(integral/(2*L),L,inf )
format long
eval(E)
eval(P)
−t + 1 −1 6 t < 0
t 0≤t<2
x(t) =
2 2≤t≤3
0 t>3
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
x(−3t − 2)
5. Señales elementales
5.1. Escalón unidad
heaviside
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:
%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
%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
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
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 )
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)’)
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
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)
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.
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
150
100
50
0
−10 −8 −6 −4 −2 0 2 4 6 8 10
t
13
respuesta al impulso con ode45
1.6
1.4
1.2
0.8
h(t)
0.6
0.4
0.2
−0.2
−10 −8 −6 −4 −2 0 2 4 6 8 10
t
En este caso la respuesta analítica la podemos encontrar resolviendo la ecuación diferencial por el método
del factor integrante:
d[e2t h(t)] 3
= e2t δ(t)
dt 2
ˆ ∞
3
e2t h(t) = e2t δ(t)dt
2 −∞
3 2(0) −2t
h(t) = e e
2
3 −2t
h(t) = e
2
Coomparación con la respuesta analítica:
>> figure(2)
>> ht=1.5*exp(-2*t).*heaviside(t);
>> plot(t,ht)
14
respuesta analitica
1.5
1
h(t)
0.5
0
−10 −8 −6 −4 −2 0 2 4 6 8 10
t
15
Derivada de un delta de Dirac
150
100
50
−50
−100
−150
−10 −8 −6 −4 −2 0 2 4 6 8 10
t
16
function U=sisode2(t,H)
%el delta de dirac y su derivada
delta=100*sinc(100*t);
derdelta=diff(delta);
derivdd=[derdelta 0];
%el sistema de odes
U=zeros(2,1);
U(1)=H(2);
U(2)=4*H(2)-H(1)+4*derivdd+2*delta;
Como la respuesta al impulso h(t) es la primera columna del matriz H la extraemos y graficamos:
>> h=H(:,1);
>> plot(t,h)
>> title(’Respuesta al impulso’)
>> xlabel(’t’)
15 Respuesta al impulso
x 10
5
4.5
3.5
2.5
1.5
0.5
0
0 1 2 3 4 5 6 7 8 9 10
t
9. Análisis de Fourier
Se define la Transformada de Fourier de una señal como:
ˆ ∞
F {x(t)} = x(t)e−iωt dt
−∞
17
9.1. Espectro de amplitud
Se define como un gráfico entre el módulo de la transformada de Fourier de la señal | X(ω) |y la frecuencia.
A a su vez la operación módulo de una variable compleja es:
p
| X(ω) |= (Re(X(ω))2 + (Im(X(ω))2
donde Re(X(ω) e Im(X(ω) son la parte real y la parte imaginaria respectivamente.
Im(X(ω)
arg(X(ω)) = tg −1
Re(X(ω)
ˆ ∞
1
F −1 {X(ω)} = X(ω)eiωt dω
2π −∞
F −1 {X(ω)} = x(t)
18
9.4. Espectro de energía
El integrando de la última expresión | X(ω) |2 se conoce como densidad espectral de energía y su gráfico
versus la frecuencia como el espectro de energía.
El gráfico de la dsp versus la frecuencia es el espectro de potencia para señales acotadas en un intervalo
[−τ, τ ].
19
Senal
1
0.5
0
0 1 2 3 4 5 6 7 8 9 10
Espectro de amplitud
10
0
0 20 40 60 80 100 120
Espectro de fase
5
−5
0 20 40 60 80 100 120
Espectro de energia
100
50
0
0 20 40 60 80 100 120
Como todos los espectros se dibujan en función de la frecuencia, necesitamos ahora crear un eje de fre-
cuencias en hertzios para visualizarlos de forma correcta. La frecuencia en hertzios es función del paso con
que hemos muestreado, o en nuestro caso creado, la señal. Para el ejemplo el paso tomado es 0.1. Podemos
entonces usar:
pas=0.1;
dim=length(x)*pas;
ejf=[0:1/dim:(length(x)-1)/dim]
20
Senal
1
0.5
0
0 1 2 3 4 5 6 7 8 9 10
t(s)
Espectro de amplitud
10
0
0 1 2 3 4 5 6 7 8 9 10
f(Hz)
Espectro de fase
5
−5
0 1 2 3 4 5 6 7 8 9 10
f(Hz)
Espectro de energia
100
50
0
0 1 2 3 4 5 6 7 8 9 10
f(Hz)
y 0 (0) = 1
y(0) = 2
Si aplicamos transformada de Laplace a la ecuación diferencial del sistema usando su propiedad de lin-
ealidad obtenemos:
Las TL del lado izquierdo las obtenemos usando la regla de la TL de una derivada y haciendo uso de las
condiciones iniciales:
21
L {y 00 (t)} = s2 Y (s) − sy 0 (0) − y(0)
L {y 0 (t)} = sY (s) − y(0)
L {y(t)} = Y (s)
Para la TL del lado derecho podemos probar el comando laplace que funciona en variable simbólica:
>> syms t
>> x=exp(-t)*heaviside(t);
>> laplace(x)
ans = 1/(1+s)
2s2 + 13s + 12
Y (s) =
s3 + 6s2 + 11s + 6
Podemos preguntarnos ahora por la señal de salida aplicando la TL inversa:
2s2 + 13s + 12
y(t) = L−1
s3 + 6s2 + 11s + 6
Para este cálculo usamos el comando ilaplace una vez más en variable simbólica:
>> syms s
>> Ly=(2*s^2+13*s+12)/(s^3+6*s^2+11*s+6)
Ly = (2*s^2+13*s+12)/(s^3+6*s^2+11*s+6)
>> y=ilaplace(Ly)
y = 6*exp(-2*t)+1/2*exp(-t)-9/2*exp(-3*t)
22
senal=sin(10*pi*t)+cos(15*t+t.^2);
%grafico de la senal
ejet=[0:pas:(length(senal)-1)*pas];
subplot(4,1,1);
plot(ejet,senal);
axis([ min(ejet) max(ejet) min(senal) max(senal)]);
xlabel(’t (s)’);
title(’Grafico de la senal’)
%espectro subplot(4,1,2);
dim=length(senal)*pas;
ejefrec=[0:1/dim:(length(senal)-1)/dim];
spectr=abs(fft(senal));
%espectro normalizado spectr=spectr/max(spectr);
plot(ejefrec,spectr);
axis([0 10 0 max(spectr)]);
xlabel(’frecuencia (Hz)’);
title(’Espectro de amplitud de la senal’)
%frecuencia de muestreo sfrec=1/pas;
%filtro de Butterworth de orden n n=6; Wn=[4 6]/(sfrec/2);
%coeficientes del filtro
[b,a]=butter(n,Wn);
%convolucion del filtro con la senal
ysig=filter(b,a,senal);
23
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.
24