señales de tiempo continuo y discreto matlab
Post on 22-Jan-2017
798 Views
Preview:
TRANSCRIPT
1 TESE
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 TESE
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 TESE
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 TESE
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 TESE
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
6 TESE
5. Dado:
x1=[2 6 9 -3 4 8]
x2=[7 8 4 3 2 1]
Calcular la Convolucion
Datos insertados en Matlab
Código
x1=[2 6 9 -3 4 8]
x2=[7 8 4 3 2 1]
x3=conv(x1,x2);
long_x3=length(x1)+length(x2)-1
stem(x3)
grid
Grafica en respuesta
7 TESE
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 TESE
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
9 TESE
Grafica en respuesta con 20 armónicos
Grafica en respuesta con 50 armónicos
10 TESE
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
11 TESE
Grafica en respuesta con 20 armónicos
Grafica en respuesta con 50 armónicos
12 TESE
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 TESE
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 TESE
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 TESE
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 TESE
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 TESE
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 TESE
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 TESE
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 TESE
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 TESE
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
top related