Está en la página 1de 10

Laboratorio de Seales y Sistemas

Universidad de San Buenaventura Bogot D.C


Sebastian Ocampo Jaramillo
socampo@academia.usbbog.edu.co
1. Cdigo en MATLAB de funcin a trozos para la grfica correspondiente.
t=linspace(-6,5,2000);
x=(((0).*(t<-6))+((-1).*((t>=-6)&(t<-5)))+((1/3*t+3.6).*((t>=-5)&(t<-2)))
+((-2*t-1).*((t>=-2)&(t<-1)))+((1).*((t>=-1)&(t<2)))+((2*t3).*((t>=2)&(t<3)))+((3).*((t>=3)&(t<5))));
xx=plot(t,x,'LineWidth',2);
grid on;
axis([-7,7,-7,7])
title('x(t)')
xlabel('tiempo t (s)')
ylabel('unidad (u)')

2. coeficientes trigonomtricos de Fourier


%para el coeficiente a0
syms k t
T=11;
w=(2*pi()/11);
t1=@(t)
(t-t-1);
t2=@(t)
(1/3*t+3.6);
t3=@(t)
(-2*t-1);
t4=@(t)
(t-t+1);
t5=@(t)
(2*t-3);
t6=@(t)
(t-t+3);
%lmites de integracin
i1=integral(t1,-6,-5);
i2=integral(t2,-5,-2);
i3=integral(t3,-2,-1);
i4=integral(t4,-1,2);
i5=integral(t5,2,3);
i6=integral(t6,3,5);
a=(2/T)*(i1+i2+i3+i4+i5+i6)
%para el coeficiente ak
t7=@(t)
((-1)*(cos(pi*t*k*2/11)));
t8=@(t)
((1/3*t+3.6)*(cos(k*pi*t*2/11)));
t9=@(t)
((-2*t-1)*(cos(k*pi*t*2/11)));
t10=@(t)
((1)*(cos(k*pi*2*t/11)));
t11=@(t)
((2*t-3)*(cos(k*pi*2*t/11)));
t12=@(t)
((3)*(cos(k*pi*t*2/11)));
%lmites de integracin
i7=int(t7,t,-6,-5);
i8=int(t8,t,-5,-2);
i9=int(t9,t,-2,-1);
i10=int(t10,t,-1,2);
i11=int(t11,t,2,3);
i12=int(t12,t,3,5);
b=(2/T)*(i7+i8+i9+i10+i11+i12)
%para el coeficiente bk
t13=@(t)
((-1)*(sin(k*pi*t*2/11)));
t14=@(t)
((1/3*t+3.6)*(sin(k*t*pi*2/11)));
t15=@(t)
((-2*t-1)*(sin(k*pi*2*t/11)));
t16=@(t)
((1)*(sin(k*pi*t*2/11)));
t17=@(t)
((2*t-3)*(sin(k*pi*2*t/11)));
t18=@(t)
((3)*(sin(k*pi*t*2/11)));
%lmites de integracin
i13=int(t13,t,-6,-5);
i14=int(t14,t,-5,-2);
i15=int(t15,t,-2,-1);
i16=int(t16,t,-1,2);
i17=int(t17,t,2,3);
i18=int(t18,t,3,5);
c=(2/T)*(i13+i14+i15+i16+i17+i18)

3. cdigos y graficas correspondientes para la serie de fourier obtenida, con


los diferentes k establecidos.
%para k=1
disp('serie de fouerier')
N=1;
x=-6:0.01:5;
sum=0;
a=@(k)
((sin((2*pi*k)/11) + sin((4*pi*k)/11))/(pi*k) (2*(1.0216552683935725287257845873648*cos(2.85599332144526658042058489389
05*k) 1.0216552683935725287257845873648*cos(1.1423973285781066321682339575562*k
) +
k*(5.1353994970984895008093160981531*sin(1.142397328578106632168233957556
2*k) 3.3846951230876408073515947010555*sin(2.8559933214452665804205848938905*k
))))/(11*k^2) - (2*(pi*((11*k*sin((2*pi*k)/11))/2 (33*k*sin((4*pi*k)/11))/2) - 121*sin((pi*k)/11)^2 +
121*sin((2*pi*k)/11)^2))/(11*pi^2*k^2) - (2*((121*cos((4*pi*k)/11))/2 (121*cos((6*pi*k)/11))/2 + pi*((11*k*sin((4*pi*k)/11))/2 (33*k*sin((6*pi*k)/11))/2)))/(11*pi^2*k^2) - (3*(sin((6*pi*k)/11) sin((10*pi*k)/11)))/(pi*k) + (sin((10*pi*k)/11) - sin((12*pi*k)/11))/
(pi*k));
b=@(k)
((cos((2*pi*k)/11) - cos((4*pi*k)/11))/(pi*k) - (33*pi*k 121*sin((2*pi*k)/11) + 242*cos((2*pi*k)/11)*sin((2*pi*k)/11) +
11*pi*k*cos((2*pi*k)/11) - 66*pi*k*cos((2*pi*k)/11)^2)/(11*pi^2*k^2) (2*(1.0216552683935725287257845873648*sin(1.14239732857810663216823395755
62*k) 1.0216552683935725287257845873648*sin(2.8559933214452665804205848938905*k
) +
k*(5.1353994970984895008093160981531*cos(1.142397328578106632168233957556
2*k) 3.3846951230876408073515947010555*cos(2.8559933214452665804205848938905*k
))))/(11*k^2) + (3*(cos((6*pi*k)/11) - cos((10*pi*k)/11)))/(pi*k) +
(cos((10*pi*k)/11) - cos((12*pi*k)/11))/(pi*k) +
(2*((121*sin((6*pi*k)/11))/2 - (121*sin((4*pi*k)/11))/2 +
pi*((11*k*cos((4*pi*k)/11))/2 - (33*k*cos((6*pi*k)/11))/2)))/
(11*pi^2*k^2));
for k=1:N
sum=sum+(b(k)*sin(k*pi*2*x/11))+(a(k)*(cos(k*pi*2*x/11)));
end
a0=1.8
sum=a0+sum
f=((((0).*(x<-6))+((-1).*((x>=-6)&(x<-5)))+((1/3*x+3.6).*((x>=-5)&(x<2)))+((-2*x-1).*((x>=-2)&(x<-1)))+((1).*((x>=-1)&(x<2)))+((2*x3).*((x>=2)&(x<3)))+((3).*((x>=3)&(x<5)))));
figure
plot(x,f,'b',x,sum,'r');
axis([-7,7,-7,7])
grid on
xlabel('tiempo t (s)')
ylabel('unidad (u)')
title('aproximacion por serie de fourier')

%para k=5
disp('serie de fouerier')
N=5;
x=-6:0.01:5;
sum=0;
a=@(k)
((sin((2*pi*k)/11) + sin((4*pi*k)/11))/(pi*k) (2*(1.0216552683935725287257845873648*cos(2.85599332144526658042058489389
05*k) 1.0216552683935725287257845873648*cos(1.1423973285781066321682339575562*k
) +
k*(5.1353994970984895008093160981531*sin(1.142397328578106632168233957556
2*k) 3.3846951230876408073515947010555*sin(2.8559933214452665804205848938905*k
))))/(11*k^2) - (2*(pi*((11*k*sin((2*pi*k)/11))/2 (33*k*sin((4*pi*k)/11))/2) - 121*sin((pi*k)/11)^2 +
121*sin((2*pi*k)/11)^2))/(11*pi^2*k^2) - (2*((121*cos((4*pi*k)/11))/2 (121*cos((6*pi*k)/11))/2 + pi*((11*k*sin((4*pi*k)/11))/2 (33*k*sin((6*pi*k)/11))/2)))/(11*pi^2*k^2) - (3*(sin((6*pi*k)/11) sin((10*pi*k)/11)))/(pi*k) + (sin((10*pi*k)/11) - sin((12*pi*k)/11))/
(pi*k));
b=@(k)
((cos((2*pi*k)/11) - cos((4*pi*k)/11))/(pi*k) - (33*pi*k 121*sin((2*pi*k)/11) + 242*cos((2*pi*k)/11)*sin((2*pi*k)/11) +
11*pi*k*cos((2*pi*k)/11) - 66*pi*k*cos((2*pi*k)/11)^2)/(11*pi^2*k^2) (2*(1.0216552683935725287257845873648*sin(1.14239732857810663216823395755
62*k) 1.0216552683935725287257845873648*sin(2.8559933214452665804205848938905*k
) +
k*(5.1353994970984895008093160981531*cos(1.142397328578106632168233957556
2*k) -

3.3846951230876408073515947010555*cos(2.8559933214452665804205848938905*k
))))/(11*k^2) + (3*(cos((6*pi*k)/11) - cos((10*pi*k)/11)))/(pi*k) +
(cos((10*pi*k)/11) - cos((12*pi*k)/11))/(pi*k) +
(2*((121*sin((6*pi*k)/11))/2 - (121*sin((4*pi*k)/11))/2 +
pi*((11*k*cos((4*pi*k)/11))/2 - (33*k*cos((6*pi*k)/11))/2)))/
(11*pi^2*k^2));
for k=1:N
sum=sum+(b(k)*sin(k*pi*2*x/11))+(a(k)*(cos(k*pi*2*x/11)));
end
a0=1.8
sum=a0+sum
f=((((0).*(x<-6))+((-1).*((x>=-6)&(x<-5)))+((1/3*x+3.6).*((x>=-5)&(x<2)))+((-2*x-1).*((x>=-2)&(x<-1)))+((1).*((x>=-1)&(x<2)))+((2*x3).*((x>=2)&(x<3)))+((3).*((x>=3)&(x<5)))));
figure
plot(x,f,'b',x,sum,'r');
axis([-7,7,-7,7])
grid on
xlabel('tiempo t (s)')
ylabel('unidad (u)')
title('aproximacion por serie de fourier')

%para k=20
disp('serie de fouerier')
N=20;
x=-6:0.01:5;
sum=0;
a=@(k)
((sin((2*pi*k)/11) + sin((4*pi*k)/11))/(pi*k) (2*(1.0216552683935725287257845873648*cos(2.85599332144526658042058489389

05*k) 1.0216552683935725287257845873648*cos(1.1423973285781066321682339575562*k
) +
k*(5.1353994970984895008093160981531*sin(1.142397328578106632168233957556
2*k) 3.3846951230876408073515947010555*sin(2.8559933214452665804205848938905*k
))))/(11*k^2) - (2*(pi*((11*k*sin((2*pi*k)/11))/2 (33*k*sin((4*pi*k)/11))/2) - 121*sin((pi*k)/11)^2 +
121*sin((2*pi*k)/11)^2))/(11*pi^2*k^2) - (2*((121*cos((4*pi*k)/11))/2 (121*cos((6*pi*k)/11))/2 + pi*((11*k*sin((4*pi*k)/11))/2 (33*k*sin((6*pi*k)/11))/2)))/(11*pi^2*k^2) - (3*(sin((6*pi*k)/11) sin((10*pi*k)/11)))/(pi*k) + (sin((10*pi*k)/11) - sin((12*pi*k)/11))/
(pi*k));
b=@(k)
((cos((2*pi*k)/11) - cos((4*pi*k)/11))/(pi*k) - (33*pi*k 121*sin((2*pi*k)/11) + 242*cos((2*pi*k)/11)*sin((2*pi*k)/11) +
11*pi*k*cos((2*pi*k)/11) - 66*pi*k*cos((2*pi*k)/11)^2)/(11*pi^2*k^2) (2*(1.0216552683935725287257845873648*sin(1.14239732857810663216823395755
62*k) 1.0216552683935725287257845873648*sin(2.8559933214452665804205848938905*k
) +
k*(5.1353994970984895008093160981531*cos(1.142397328578106632168233957556
2*k) 3.3846951230876408073515947010555*cos(2.8559933214452665804205848938905*k
))))/(11*k^2) + (3*(cos((6*pi*k)/11) - cos((10*pi*k)/11)))/(pi*k) +
(cos((10*pi*k)/11) - cos((12*pi*k)/11))/(pi*k) +
(2*((121*sin((6*pi*k)/11))/2 - (121*sin((4*pi*k)/11))/2 +
pi*((11*k*cos((4*pi*k)/11))/2 - (33*k*cos((6*pi*k)/11))/2)))/
(11*pi^2*k^2));
for k=1:N
sum=sum+(b(k)*sin(k*pi*2*x/11))+(a(k)*(cos(k*pi*2*x/11)));
end
a0=1.8
sum=a0+sum
f=((((0).*(x<-6))+((-1).*((x>=-6)&(x<-5)))+((1/3*x+3.6).*((x>=-5)&(x<2)))+((-2*x-1).*((x>=-2)&(x<-1)))+((1).*((x>=-1)&(x<2)))+((2*x3).*((x>=2)&(x<3)))+((3).*((x>=3)&(x<5)))));
figure
plot(x,f,'b',x,sum,'r');
axis([-7,7,-7,7])
grid on
xlabel('tiempo t (s)')
ylabel('unidad (u)')
title('aproximacion por serie de fourier')

%para k=50
disp('serie de fouerier')
N=50;
x=-6:0.01:5;
sum=0;
a=@(k)
((sin((2*pi*k)/11) + sin((4*pi*k)/11))/(pi*k) (2*(1.0216552683935725287257845873648*cos(2.85599332144526658042058489389
05*k) 1.0216552683935725287257845873648*cos(1.1423973285781066321682339575562*k
) +
k*(5.1353994970984895008093160981531*sin(1.142397328578106632168233957556
2*k) 3.3846951230876408073515947010555*sin(2.8559933214452665804205848938905*k
))))/(11*k^2) - (2*(pi*((11*k*sin((2*pi*k)/11))/2 (33*k*sin((4*pi*k)/11))/2) - 121*sin((pi*k)/11)^2 +
121*sin((2*pi*k)/11)^2))/(11*pi^2*k^2) - (2*((121*cos((4*pi*k)/11))/2 (121*cos((6*pi*k)/11))/2 + pi*((11*k*sin((4*pi*k)/11))/2 (33*k*sin((6*pi*k)/11))/2)))/(11*pi^2*k^2) - (3*(sin((6*pi*k)/11) sin((10*pi*k)/11)))/(pi*k) + (sin((10*pi*k)/11) - sin((12*pi*k)/11))/
(pi*k));
b=@(k)
((cos((2*pi*k)/11) - cos((4*pi*k)/11))/(pi*k) - (33*pi*k 121*sin((2*pi*k)/11) + 242*cos((2*pi*k)/11)*sin((2*pi*k)/11) +
11*pi*k*cos((2*pi*k)/11) - 66*pi*k*cos((2*pi*k)/11)^2)/(11*pi^2*k^2) (2*(1.0216552683935725287257845873648*sin(1.14239732857810663216823395755
62*k) 1.0216552683935725287257845873648*sin(2.8559933214452665804205848938905*k
) +
k*(5.1353994970984895008093160981531*cos(1.142397328578106632168233957556
2*k) -

3.3846951230876408073515947010555*cos(2.8559933214452665804205848938905*k
))))/(11*k^2) + (3*(cos((6*pi*k)/11) - cos((10*pi*k)/11)))/(pi*k) +
(cos((10*pi*k)/11) - cos((12*pi*k)/11))/(pi*k) +
(2*((121*sin((6*pi*k)/11))/2 - (121*sin((4*pi*k)/11))/2 +
pi*((11*k*cos((4*pi*k)/11))/2 - (33*k*cos((6*pi*k)/11))/2)))/
(11*pi^2*k^2));
for k=1:N
sum=sum+(b(k)*sin(k*pi*2*x/11))+(a(k)*(cos(k*pi*2*x/11)));
end
a0=1.8
sum=a0+sum
f=((((0).*(x<-6))+((-1).*((x>=-6)&(x<-5)))+((1/3*x+3.6).*((x>=-5)&(x<2)))+((-2*x-1).*((x>=-2)&(x<-1)))+((1).*((x>=-1)&(x<2)))+((2*x3).*((x>=2)&(x<3)))+((3).*((x>=3)&(x<5)))));
figure
plot(x,f,'b',x,sum,'r');
axis([-7,7,-7,7])
grid on
xlabel('tiempo t (s)')
ylabel('unidad (u)')
title('aproximacion por serie de fourier')

%para k=100
disp('serie de fouerier')
N=100;
x=-6:0.01:5;
sum=0;
a=@(k)
((sin((2*pi*k)/11) + sin((4*pi*k)/11))/(pi*k) (2*(1.0216552683935725287257845873648*cos(2.85599332144526658042058489389

05*k) 1.0216552683935725287257845873648*cos(1.1423973285781066321682339575562*k
) +
k*(5.1353994970984895008093160981531*sin(1.142397328578106632168233957556
2*k) 3.3846951230876408073515947010555*sin(2.8559933214452665804205848938905*k
))))/(11*k^2) - (2*(pi*((11*k*sin((2*pi*k)/11))/2 (33*k*sin((4*pi*k)/11))/2) - 121*sin((pi*k)/11)^2 +
121*sin((2*pi*k)/11)^2))/(11*pi^2*k^2) - (2*((121*cos((4*pi*k)/11))/2 (121*cos((6*pi*k)/11))/2 + pi*((11*k*sin((4*pi*k)/11))/2 (33*k*sin((6*pi*k)/11))/2)))/(11*pi^2*k^2) - (3*(sin((6*pi*k)/11) sin((10*pi*k)/11)))/(pi*k) + (sin((10*pi*k)/11) - sin((12*pi*k)/11))/
(pi*k));
b=@(k)
((cos((2*pi*k)/11) - cos((4*pi*k)/11))/(pi*k) - (33*pi*k 121*sin((2*pi*k)/11) + 242*cos((2*pi*k)/11)*sin((2*pi*k)/11) +
11*pi*k*cos((2*pi*k)/11) - 66*pi*k*cos((2*pi*k)/11)^2)/(11*pi^2*k^2) (2*(1.0216552683935725287257845873648*sin(1.14239732857810663216823395755
62*k) 1.0216552683935725287257845873648*sin(2.8559933214452665804205848938905*k
) +
k*(5.1353994970984895008093160981531*cos(1.142397328578106632168233957556
2*k) 3.3846951230876408073515947010555*cos(2.8559933214452665804205848938905*k
))))/(11*k^2) + (3*(cos((6*pi*k)/11) - cos((10*pi*k)/11)))/(pi*k) +
(cos((10*pi*k)/11) - cos((12*pi*k)/11))/(pi*k) +
(2*((121*sin((6*pi*k)/11))/2 - (121*sin((4*pi*k)/11))/2 +
pi*((11*k*cos((4*pi*k)/11))/2 - (33*k*cos((6*pi*k)/11))/2)))/
(11*pi^2*k^2));
for k=1:N
sum=sum+(b(k)*sin(k*pi*2*x/11))+(a(k)*(cos(k*pi*2*x/11)));
end
a0=1.8
sum=a0+sum
f=((((0).*(x<-6))+((-1).*((x>=-6)&(x<-5)))+((1/3*x+3.6).*((x>=-5)&(x<2)))+((-2*x-1).*((x>=-2)&(x<-1)))+((1).*((x>=-1)&(x<2)))+((2*x3).*((x>=2)&(x<3)))+((3).*((x>=3)&(x<5)))));
figure
plot(x,f,'b',x,sum,'r');
axis([-7,7,-7,7])
grid on
xlabel('tiempo t (s)')
ylabel('unidad (u)')
title('aproximacion por serie de fourier')

También podría gustarte