信号与系统第九章

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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');

相关文档
最新文档