信号与系统实验三.doc

上传人:wj 文档编号:4877932 上传时间:2023-05-07 格式:DOC 页数:8 大小:11.09MB
下载 相关 举报
信号与系统实验三.doc_第1页
第1页 / 共8页
信号与系统实验三.doc_第2页
第2页 / 共8页
信号与系统实验三.doc_第3页
第3页 / 共8页
信号与系统实验三.doc_第4页
第4页 / 共8页
信号与系统实验三.doc_第5页
第5页 / 共8页
信号与系统实验三.doc_第6页
第6页 / 共8页
信号与系统实验三.doc_第7页
第7页 / 共8页
信号与系统实验三.doc_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

信号与系统实验三.doc

《信号与系统实验三.doc》由会员分享,可在线阅读,更多相关《信号与系统实验三.doc(8页珍藏版)》请在冰点文库上搜索。

信号与系统实验三.doc

信号与线性系统分析实验

实验三:

周期信号的傅利叶级数分析及MATLAB实现

学院:

信息学院专业:

通信工程(武警国防生)指导教师:

肖琦

姓名:

梁由勇学号:

20081060094成绩:

实验目的:

1.用MATLAB实现周期信号的傅利叶级数;

2.用MATLAB实现周期信号(包括典型周期信号)的频谱分析;

3.观察利用MATLAB生成的图形及结果,与信号与系统理论知识相连系,加深对信号与系统理论知识的深入理解。

9.1已知周期半波余弦信号和周期全波余弦信号的波形分别如图所示(图略),用MATLAB编程求出它们的傅里叶系数,绘出其直流、一次、二次、三次、四次及五次谐波叠加后的波形图,并将其与原周期信号的时域波形进行比较,观察周期信号的分解与合成过程。

解:

%观察周期余弦半波信号的分解和合成

%m:

傅立叶级数展开的项数

display('Pleaseinputthevalueofm(傅立叶级数展开的项数)');

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.52.5-0.51.5]);title('周期半波余弦信号');xlabel('t/pi','Fontsize',8);

x=zeros(size(t));

kk='1';

%计算系数

symstxn

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;

fork=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,:

));

holdon;

plot(t/pi,x);

grid;

holdoff;

axis([-2.52.5-0.51.5]);title('直流分量');

xlabel('t/pi','Fontsize',8);

%各次谐波叠加

fork=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,:

));

holdon;

plot(t/pi,y(k,:

));

holdoff;

grid;

axis([-2.52.5-0.51.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.52.5-0.51.5]);

title('各次谐波叠加波形');

xlabel('t/pi','Fontsize',8);

%End

%观察周期余弦全波信号的分解和合成

%m:

傅立叶级数展开的项数

display('Pleaseinputthevalueofm(傅立叶级数展开的项数);

t=-2.5*pi:

0.01:

2.5*pi;

t1=-0.5*pi:

0.01:

0.5*pi-0.01;

n=round(length(t)/5);

f=[cos(t1)';cos(t1)';cos(t1)';cos(t1)';cos(t1)';0];

y=zeros(m+1,max(size(t)));

y(m+1,:

)=f';

subplot(m+2,1,1)

plot(t/pi,y(m+1,:

));

gridon;

axis([-2.52.5-0.21.2]);title('周期全波余弦信号');xlabel('t/pi','Fontsize',8);x=zeros(size(t));

kk='1';

%计算系数

symstxn

T=pi;

fx=sym('cos(tx)');

Nn=32;

an=zeros(m+1,1);

bn=zeros(m+1,1);

A0=2*int(fx,tx,-T/2,T/2)/T;An=2*int(fx*cos(2*pi*(n+eps/2)*tx/T),tx,-T/2,T/2)/T;Bn=2*int(fx*sin(2*pi*(n+eps/2)*tx/T),tx,-T/2,T/2)/T;

an

(1)=double(vpa(A0,Nn));

fork=1:

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;

subplot(m+2,1,1)

plot(t/pi,y(m+1,:

));

holdon;

plot(t/pi,x);

gridon;

holdoff;

axis([-2.52.5-0.21.2]);

title('周期全波余弦信号');

xlabel('t/pi','Fontsize',8);

%各次谐波叠加

fork=1:

m

pause;

x=x+an(k+1).*cos(2*k*t);

y(k,:

)=x;

subplot(m+2,1,k+1)

plot(t/pi,y(m+1,:

));

holdon;

plot(t/pi,y(k,:

));

holdoff;

gridon;

axis([-2.52.5-0.21.2]);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,:

));

gridon;

axis([-2.52.5-0.21.2]);

title('各次次谐波叠加波形');

xlabel('t/pi','Fontsize',8);

%End

9.2试用MATLAB编程会出9.1中所示周期信号的幅度频谱,要求交互式输入信号周期,观察分析信号周期与频谱的关系。

当周期T趋于无穷大时,频谱谱线将发生什么样的变化?

解:

symsTnt;

display('PleaseinputthevalueofNF,T,tao');

Nf=input('Nf=');

T=input('T=');

tao=input('tao=');

an=2/T*int(2/T*t*cos(2*pi*n*t/T),t,0,tao);

bn=2/T*int(2/T*t*sin(2*pi*n*t/T),t,0,tao);

a1n=zeros(1,Nf+1);

b1n=zeros(1,Nf+1);

cn=zeros(1,Nf+1);

cn

(1)=1/2;

fori=2:

Nf+1

a1n(i)=subs(an,n,i);

b1n(i)=subs(bn,n,i);

cn(i)=(a1n(i)^2+b1n(i)^2)^(1/2);

end

k=0:

Nf;

stem(k,cn);

holdon

plot(k,cn);

title(strcat('幅度频谱,周期、时域信号分别为',num2str(T),'和',num2str(tao)));

xlabel(strcat('谐波次数',k));

运行:

Pleaseinputthevalueofm(傅立叶级数展开的项数)

Pleaseinputthevalueofm(傅立叶级数展开的项数)

PleaseinputthevalueofNF,T,tao

Nf=30

T=2*pi

tao=pi/2

tao=pi

tao=pi/4

固定tao=1,Nf=30

改变T分别为2*pi,4*pi,8*pi图形分别如下:

T=2*pi

T=8*pi

T=4*pi

9.3已知周期锯齿脉冲信号如图所示(图略),用MATLAB绘制其频谱,要求交互式设置信号周期和时域宽度,观察信号周期T及时域宽度对信号频谱的影响。

解:

在一个周期内

而:

首先求解其傅立叶系数:

;

编写.m文件如下:

disp('pleaseinputthevalueofT,taoandNf');

T=input('T=');

tao=input('tao=');

Nf=input('Nf=');

symsxnk

Nn=32;

An=zeros(Nf+1,1);

Bn=zeros(Nf+1,1);

f=x/tao;

a0=2*int(f,x,0,tao)/T;

an=2*int(f*cos(n*x),x,0,tao)/T;

bn=2*int(f*sin(n*x),x,0,tao)/T;

An

(1)=double(vpa(a0,Nn));

fork=1:

Nf

An(k+1)=double(vpa(subs(an,n,k),Nn));

Bn(k+1)=double(vpa(subs(bn,n,k),Nn));

end

cn=sqrt(An.*An+Bn.*Bn);

m=0:

Nf;

stem(m,cn);

holdon;

plot(m,cn);

xlabel('·ù¶È\omega','fontsize',8);

其次固定tao,改变T:

8

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 动物植物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2