1. 1TESE
Graficas en Matlab Sobre Manejo De
Señales:
Tiempo continuo
Tiempo discreto
NOMBRE DEL ALUMNO: Estrada Jose Agustin
Grupo: 1801
Asignatura: Procesamiento digital de señales
Profesor: Miguel Ángel Alvarado Cruz
2. 2TESE
Desarrollo:
De acuerdo a la teoría vista en clase se muestran las
siguientes formas de señales ocupando el programa Matlab.
Señales De Tiempo Continuo Y Tiempo Discreto
1. Señal en tiempo continuo
Función a graficar
x(t)=e-0.1tsin
𝟐
𝟑
𝒕
Datos insertados en Matlab
código
>> t=0:0.1:30;
>> x=exp(-0.1*t).*sin(2/3*t);
>> plot(t,x)
>> axis([0 30 -1 1]);
>> xlabel('time(sec)');
>> ylabel('x(t)');
Grafica de respuesta
3. 3TESE
2. Señales discretas
Datos insertados en Matlab
Código
>> n=-2:6;
>> x=[0 0 1 2 1 0 -1 0 0 ];
>> stem(n,x,'filled');
>>xlabel('n')
>>xlabel('x(n)')
Grafica de respuesta
4. 4TESE
3. Convolucion en tiempo discreto
Datos insertados en Matlab
Código
>> P=[0 ones(1,10) zeros(1,5)]
>> x=P;
>> v=P;
>> y=conv(x,v);
>> n=-2:25;
>> stem(n,y(1:length(n)),'filled')
Grafica en respuesta
5. 5TESE
4. Convolucion En Tiempo Discreto
Calculo De La Respuesta De Salida
Datos insertados en Matlab
Código
>> n=0:40;
>> x=sin(0.2*n);
>> h=sin(0.5*n);
>> y=conv(x,h);
>>stem(h,y(1:length(n)),'filled');
Grafica en respuesta
7. 7TESE
6. Dado
f1(t)=6x2
f2(t)=8 cos 2π x
con 0 < x <100
Calcular la Convolucion
Datos insertados en Matlab
Código
>> x=0:100;
>> y=(6*x.^2);
>> z=8*cos(2*pi*x);
>> c=conv(y,z);
>> stem(x,c(1:length(x)),'filled');
Grafica en respuesta
8. 8TESE
7. Serie De Fouirer
Teóricamente tenemos la expresión de:
Xn(t)=
𝟏
𝟐
+
𝟐
𝛑
∑
𝟏
𝐤
𝐧
𝐧=𝟏 𝐬𝐞𝐧 (
𝐤𝛑
𝟐
) 𝐜𝐨𝐬(𝐤𝛑𝐭), ∞<+<∞
Utilizando un numero de armónicos = 3, 20,50
Datos insertados en Matlab
Código
t=-3: 6/1000:3;
n=input('numero de armonicos=');
a0=5;
wo=pi;
xn=a0*ones(1,length(t));
for k=1:2:n
xn=xn+2/k/pi*sin(k*pi/2)*cos(k*wo*t);
plot(t,xn);
end
Grafica en respuesta con 3 armónicos
10. 10TESE
8. Serie compleja de Fourier
Teóricamente tenemos la expresión de:
Xn(t)=∑ 𝐤 ∗ 𝐞𝐣𝐤𝐰𝐨𝐭𝐧
𝐤=−𝐧
Utilizando un numero de armónicos = 3, 20,50
Datos insertados en Matlab
Código
t=-3: 6/1000:3;
n=input('numero de armonicos=');
c0=0.5;
wo=pi;
xn=c0*ones(1,length(t));
for k=1:n
ck=1/k/pi*sin(k*pi/2);
c_k=ck;
xn=xn+ck*exp(j*k*wo*t)+c_k*exp(-j*k*wo*t);
stem(t,xn);
end
Grafica en respuesta con 3 armónicos
12. 12TESE
9. Generación De Una Señal Muestreada A 8khz
Teóricamente tenemos la expresión de:
X(t)= 2sin(𝟐𝝅 𝟒𝟎𝟎𝒕 +
𝝅
𝟒
)
Con frecuencia de muestreo de 8000
Datos insertados en Matlab
Código
>> fo=400;
>> a=2;
>> phi=pi/4;
>> fs=8000;
>> ts=1/fs;
>> t=-0.002:ts:0.002;
>> xt=a*sin(2*pi*fo*t+phi);
>> stem(t,xt);
Grafica en respuesta
13. 13TESE
Con Frecuencia De Muestreo De 20,000
Datos insertados en Matlab
Código
>> fo=400;
>> a=2;
>> phi=pi/4;
>> fs=20000;
>> ts=1/fs;
>> t=-0.002:ts:0.002;
>> xt=a*sin(2*pi*fo*t+phi);
>> stem(t,xt);
Grafica en respuesta
14. 14TESE
10.Señal De Diente De Sierra
Datos insertados en Matlab
Código
>> fo=400;
>> a=2;
>> fs=8000;
>> ts=1/fs;
>> t=-0.002:ts:0.002;
>> xt=sawtooth(2*pi*fo*t);
>> stem(t,xt)
>> hold on
>> plot(t,xt)
>> xlabel('tiempo(s)');
>> xlabel('x(t)');
Grafica en respuesta
15. 15TESE
11. Funcion sampling
Utilizando una frecuencia de 8000=fs
Datos insertados en Matlab
Código
>> fo=400;
>> a=2;
>> fs=8000;
>> ts=1/fs;
>> t=-0.003:ts:0.003;
>> xt=a*sinc(2*fo*t);
>> stem(t,xt)
Grafica en respuesta
16. 16TESE
Utilizando una frecuencia de 20,000= fs
Datos insertados en Matlab
Código
>> fo=400;
>> a=2;
>> fs=20000;
>> ts=1/fs;
>> t=-0.003:ts:0.003;
>> xt=a*sinc(2*fo*t);
>> stem(t,xt)
Grafica en respuesta
17. 17TESE
12.Graficar el muestreo de las siguientes señales:
F(t)=
4
3
𝑐𝑜𝑠2𝜋𝑡
Datos insertados en Matlab
Código
>> fo=400;
a=4/3;
fs=200;
ts=1/fs;
t=-10:ts:10;
xt=a*cos(2*pi*t);
stem(t,xt)
>> grid
Grafica en respuesta
18. 18TESE
13. Graficar El Muestreo De La Siguiente Ecuación
F(t)= 9π𝑒4𝜋𝑡
Datos insertados en Matlab
Código
>> fo=400;
a=9;
fs=200;
ts=1/fs;
t=-10:ts:10;
xt=9*exp(4*pi*t);
stem(t,xt)
grid
Grafica en respuesta
19. 19TESE
14.Graficar El Muestreo De La Siguiente Ecuación
F (t)=9sin 4π t+3 cos 4π t
Datos insertados en Matlab
Código
>> fo=400;
a1=9;
a2=3;
fs=200;
ts=1/fs;
t=-1:ts:1;
xt=9*sin(4*pi*t)+(a2*cos(4*pi*t));
stem(t,xt)
grid
Grafica en respuesta
20. 20TESE
15.Mostrar Parte real y la parte imaginaria de la TDF de una señal
% TDF parte real e imaginaria
Datos insertados en Matlab
Código
n=0:15;
Xn=exp(j*n/3);
Xk=fft(Xn)
k=n;
subplot(221)
stem(k,real(Xk));
title('parte imaginaria de x(K)');
subplot(223)
stem(k,imag(Xk));
title('parte imaginaria de x(K)');
%RECUPERAR LA SEÑAL X(n)
Xn=ifft(Xk);
subplot(222)
stem(n,real(Xn));
title('parte real de Xn');
subplot(224)
stem(n,imag(Xn));
title('parte imaginaria de Xcn)')
Grafica en respuesta
21. 21TESE
16.Obtener la magnitud de fase de la TDF de la señal :
X(n)=sen (2πf1 t)+sen(2πf2 t)
Con f1= 15Hz y f2= 40Hz
Datos insertados en Matlab
Código
% Magnitud y Fase
t=0:0.1:9.99;
f1=15;f2=40;
xn=sin(2*pi*f1*t)+sin(2*pi*f2*t);
xk=fft(xn);
mag=abs(xk);
f=0:0.1:9.99;
subplot(121)
plot(f,mag)
title('magnitud de x(k)');
set(gca,'xtick',[15 40 60 85])
%magnitud y fase
%clear all
subplot(122)
fase=unwrap(angle(xk));
plot(f,fase*180/pi)
title('fase de x(k)');
set(gca,'xtick',[15 40 60 85])
Grafica en respuesta