信号与系统第九章
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
disp('Please input the value of m (傅立叶级数展开的项数)');
m=input('m = ');
t=-2.5*pi:0.01:2.5*pi;
t1=-0.5*pi:0.01:0.5*pi;
n=round(length(t)/5);
f=[cos(t1)';zeros(n-1,1);cos(t1)';zeros(n-1,1);cos(t1)']; y=zeros(m+1,max(size(t)));
y(m+1,:)=f';
subplot((m+2),1,1)
plot(t/pi,y(m+1,:));
grid;
axis([-2.5 2.5 -0.5 1.5]);
title('周期半波余弦信号');
xlabel('t/pi','Fontsize', 8);
x=zeros(size(t));
kk='1';
syms tx n
T=2*pi;
fx=sym('cos(tx)');
Nn=30;
an=zeros(m+1,1);
bn=zeros(m+1,1);
A0=2*int(fx,tx,-T/4,T/4)/T;
An=2*int(fx*cos(2*pi*(n+eps/2)*tx/T),tx,-T/4,T/4)/T;
Bn=2*int(fx*sin(2*pi*(n+eps/2)*tx/T),tx,-T/4,T/4)/T;
an(1)=double(vpa(A0,Nn)); an(2)=0.5;
for k=2:m
an(k+1)=double(vpa(subs(An,n,k),Nn));
bn(k+1)=double(vpa(subs(Bn,n,k),Nn));
end
pause;
x=an(1)*cos(0*t)/2;
plot(t/pi,y(m+1,:));
hold on;
plot(t/pi,x);
grid;
hold off;
axis([-2.5 2.5 -0.5 1.5]);
title('直流分量');
xlabel('t/pi','Fontsize', 8);
for k=1:m
pause;
x=x+an(k+1).*cos(k*t);
y(k,:)=x;
subplot((m+2),1,k+1);
plot(t/pi,y(m+1,:));
hold on;
plot(t/pi,y(k,:));
hold off;
grid;
axis([-2.5 2.5 -0.5 1.5]);
title(strcat('第',kk,'次谐波叠加'));
xlabel('t/pi','Fontsize', 8);
kk=strcat(kk,'、',num2str(k+1));
end
pause;
subplot((m+2),1,m+2)
plot(t/pi,y(1:m+1,:));
grid;
axis([-2.5 2.5 -0.5 1.5]);
title('各次谐波叠加波形');
xlabel('t/pi','Fontsize', 8);
3.
disp('Please input the value of T,tao and NF'); T=input('T=');
tao=input('tao=');
Nf=input('Nf=');
syms n t f k
Nn=32;
an=zeros(Nf+1,1);
bn=zeros(Nf+1,1);
f=1/tao*t;
A0=2*int(f,t,0,tao)/T;
As=2*int(f*cos(2*pi*n*t/T),t,0,tao)/T;
Bs=2*int(f*sin(2*pi*n*t/T),t,0,tao)/T;
an(1)=double(vpa(A0,Nn));
for k=1:Nf
an(k+1)=double(vpa(subs(As,n,k),Nn));
bn(k+1)=double(vpa(subs(Bs,n,k),Nn));
end
cn=sqrt(an.*an+bn.*bn);
dn=-atan(bn./an);
k=0:Nf;
subplot(2,1,1)
stem(k,cn);
hold on
plot(k,cn);
hold off
subplot(2,1,2)
stem(k,dn);
hold on
plot(k,dn);
hold off
(1)固定tao不变,T变化三次
disp('Please input the value NF');
tao=pi;
T1=3*pi;
T2=4*pi;
T3=5*pi;
Nf=input('Nf=');
syms n t f k
Nn=32;
an1=zeros(Nf+1,1);
an2=zeros(Nf+1,1);
an3=zeros(Nf+1,1);
bn1=zeros(Nf+1,1);
bn2=zeros(Nf+1,1);
bn3=zeros(Nf+1,1);
f=1/tao*t;
A01=2*int(f,t,0,tao)/T1;
A02=2*int(f,t,0,tao)/T2;
A03=2*int(f,t,0,tao)/T3;
As1=2*int(f*cos(2*pi*n*t/T1),t,0,tao)/T1; As2=2*int(f*cos(2*pi*n*t/T2),t,0,tao)/T2; As3=2*int(f*cos(2*pi*n*t/T3),t,0,tao)/T3; Bs1=2*int(f*sin(2*pi*n*t/T1),t,0,tao)/T1; Bs2=2*int(f*sin(2*pi*n*t/T2),t,0,tao)/T2; Bs3=2*int(f*sin(2*pi*n*t/T3),t,0,tao)/T3; an1(1)=double(vpa(A01,Nn));
an2(1)=double(vpa(A02,Nn));
an3(1)=double(vpa(A03,Nn));
for k=1:Nf
an1(k+1)=double(vpa(subs(As1,n,k),Nn)); an2(k+1)=double(vpa(subs(As2,n,k),Nn)); an3(k+1)=double(vpa(subs(As3,n,k),Nn)); bn1(k+1)=double(vpa(subs(Bs1,n,k),Nn)); bn2(k+1)=double(vpa(subs(Bs2,n,k),Nn)); bn3(k+1)=double(vpa(subs(Bs3,n,k),Nn)); end
cn1=sqrt(an1.*an1+bn1.*bn1);
dn1=-atan(bn1./an1);
cn2=sqrt(an2.*an2+bn2.*bn2);
dn2=-atan(bn2./an2);
cn3=sqrt(an3.*an3+bn3.*bn3);
dn3=-atan(bn3./an3);
k=0:Nf;
subplot(2,1,1)
stem(k,cn1);
hold on
stem(k,cn2);
stem(k,cn3);
plot(k,cn1,'color','g');
plot(k,cn2,'color','k');
plot(k,cn3,'color','r');