信号与系统实验.docx

上传人:b****1 文档编号:2070404 上传时间:2023-05-02 格式:DOCX 页数:51 大小:545.20KB
下载 相关 举报
信号与系统实验.docx_第1页
第1页 / 共51页
信号与系统实验.docx_第2页
第2页 / 共51页
信号与系统实验.docx_第3页
第3页 / 共51页
信号与系统实验.docx_第4页
第4页 / 共51页
信号与系统实验.docx_第5页
第5页 / 共51页
信号与系统实验.docx_第6页
第6页 / 共51页
信号与系统实验.docx_第7页
第7页 / 共51页
信号与系统实验.docx_第8页
第8页 / 共51页
信号与系统实验.docx_第9页
第9页 / 共51页
信号与系统实验.docx_第10页
第10页 / 共51页
信号与系统实验.docx_第11页
第11页 / 共51页
信号与系统实验.docx_第12页
第12页 / 共51页
信号与系统实验.docx_第13页
第13页 / 共51页
信号与系统实验.docx_第14页
第14页 / 共51页
信号与系统实验.docx_第15页
第15页 / 共51页
信号与系统实验.docx_第16页
第16页 / 共51页
信号与系统实验.docx_第17页
第17页 / 共51页
信号与系统实验.docx_第18页
第18页 / 共51页
信号与系统实验.docx_第19页
第19页 / 共51页
信号与系统实验.docx_第20页
第20页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

信号与系统实验.docx

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

信号与系统实验.docx

信号与系统实验

 

 

《信号与系统》实验报告

 

学院:

数理与信息工程学院

班级:

电子信息工程091班

姓名:

甘延磊

学号:

09220425

教师:

汪金山

 

实验3连续时间信号的时域基本运算

1、验证性实验(直接利用符号法进行编程)

1)相加

MATLAB程序:

clearall;

t=0:

0.0001:

3;b=3;t0=1;

u=stepfun(t,t0);n=length(t);

fori=1:

n

u(i)=b*u(i)*(t(i)-t0);

end

y=sin(2*pi*t);f=y+u;plot(t,f);

xlabel('时间(t)');ylabel('幅值f(t)');title('连续信号相加');

两个连续信号的相加结果如图3.1所示:

图3.1连个连续信号的相加

2)相乘

MATLAB程序:

clearall;t=0:

0.0001:

5;b=3;t0=1;u=stepfun(t,t0);n=length(t);

fori=1:

n;u(i)=b*u(i)*(t(i)-t0);end

y=sin(2*pi*t);f=y.*u;plot(t,f);

xlabel('时间(t)');ylabel('幅值f(t)');title('连续信号的相乘');

两个连续信号的相乘结果如图3.2所示:

图3.2两个连续信号的相乘结果

3)移位

MATLAB程序:

clearall;

t=0:

0.0001:

2;

y=sin(2*pi*(t));

yl=sin(2*pi*(t-0.2));

plot(t,y,'-',t,yl,'--');

ylabel('f(t)');xlabel('t');title('信号的移位');

信号及其移位结果如图3.3所示:

图3.3信号及其移位

4)翻转

MATLAB程序:

clearall;

t=0:

0.02:

1;t1=-1:

0.02:

0;

g1=3*t;g2=3*(-t1);

gridon;plot(t,g1,'--',t1,g2);

xlabel('t');ylabel('g(t)');

title('信号的反折');

信号及其翻转结果如图3.4所示:

图3.4信号及其翻转

5)尺度变换

MATLAB程序:

clearall;

t=0:

0.001:

1;a=2;

y=sin(2*pi*t);

y1=sin(2*a*pi*t);

subplot(211);plot(t,y);

ylabel('y(t)');xlabel('t');

title('尺度变换');

subplot(212);plot(t,y1);

ylabel('y1(t)');xlabel('t');

信号及其尺度变换结果如图3.5所示:

图3.5信号及其尺度变换

6)倒相

MATLAB程序:

clearall;

t=-1:

0.02:

1;g1=3.*t.*t;

g2=-3.*t.*t;gridon;plot(t,g1,'-',t,g2,'--');

xlabel('t');ylabel('g(t)');title('倒相');

信号及其倒相结果如图3.6所示:

图3.6信号及其倒相

7)微分

MATLAB程序:

clearall;

t=-1:

0.02:

1;g=t.*t;d=diff(g);

subplot(211);plot(t,g,'-');

xlabel('t');ylabel('g(t)');title('微分');subplot(212)

plot(d,'--');xlabel('t');ylabel('d(t)');

信号及其微分结果如图3.7所示:

图3.7信号及其微分

8)积分

MATLAB程序:

clearall;

t=-1:

0.2:

1;symst;g=t*t;d=int(g);

subplot(211);ezplot(g);

xlabel('t');ylabel('g(t)');title('积分');

subplot(212);

ezplot(d);xlabel('t');ylabel('d(t)');

信号及其积分结果如图3.8所示:

图3.8信号及其积分

9)综合

MATLAB程序:

symst

f=sym('(t/2+1)*(heaviside(t+2)-heaviside(t-2))');

subplot(2,3,1);ezplot(f,[-3,3]);

y1=subs(f,t,t+2);subplot(2,3,2);ezplot(y1,[-5,1]);

y2=subs(f,t,t-2);subplot(2,3,3);ezplot(y2,[-1,5]);

y3=subs(f,t,-t);subplot(2,3,4);ezplot(y3,[-3,3]);

y4=subs(f,t,2*t);subplot(2,3,5);ezplot(y4,[-2,2]);

y5=-f;subplot(2,3,6);ezplot(y5,[-3,3]);

在运行以上程序前先建立Hesviside的M文件。

Heaviside的函数M文件如下:

functionf=Heaviside(t)

f=(t>0);

各个信号的波形如图3.9所示:

图3.9各个信号的波形

2、程序设计实验

1)MATLAB程序:

symst

f1=sym('(-t+4)*(Heaviside(t)-Heaviside(t-4))');

f2=sin(2*pi*t);

y1=subs(f1,t,-t);

f3=f1+y1;subplot(2,2,1);ezplot(f3,[-pi,pi]);title('f3');

f4=-f3;subplot(2,2,2);ezplot(f4,[-pi,pi]);title('f4');

f5=f2.*f3;subplot(2,2,3);ezplot(f5,[-pi,pi]);title('f5');

f6=f1.*f2;subplot(2,2,4);ezplot(f6,[-pi,pi]);title('f6');

在运行以上程序前先建立Hesviside的M文件。

Heaviside的函数M文件如下:

functionf=Heaviside(t)

f=(t>0);

各个信号的波形如图3.10所示:

图3.10各个信号的波形

2)MATLAB程序:

symst

f=sym('(2/3)*(-t+1)*(Heaviside(t+2)-Heaviside(t-1))');

f1=subs(f,t,-t);subplot(3,3,1);ezplot(f1,[-5,5]);title('f(-t)');

f2=subs(f,t,-t+2);subplot(3,3,2);ezplot(f2,[-5,5]);title('f(-t+2)');

f3=subs(f,t,-t-2);subplot(3,3,3);ezplot(f3,[-5,5]);title('f(-t-2)');

f4=subs(f,t,2*t);subplot(3,3,4);ezplot(f4,[-pi,pi]);title('f(2t)');

f5=subs(f,t,t/2);subplot(3,3,5);ezplot(f5,[-5,5]);title('f(1/2t)');

f6=subs(f,t,t-2);subplot(3,3,6);ezplot(f6,[-5,5]);title('f(t-2)');

f7=subs(f,t,1-t/2);subplot(3,3,7);ezplot(f7,[-8,8]);title('f(-0.5t+1)');

f8=sym('-2/3*(heaviside(t+6)-heaviside(t))');subplot(3,3,8);ezplot(f8,[-8,2]);title('微分');

f9=sym('2/3*t*(t-1)*(heaviside(t-1)-heaviside(t-4))');subplot(3,3,9);ezplot(f9,[0,5]);title('积分');

各个信号的波形如图3.11所示:

图3.11各个信号的波形

 

实验6连续LTI系统的时域分析

1、验证性实验

(1)MATLAB程序:

%求系统的冲击响应

b=[39];a=[168];

sys=tf(b,a);t=0:

0.1:

10;

y=impulse(sys,t);plot(t,y);

xlabel('时间(t)');ylabel('y(t)');title('单位冲激响应');

系统的冲击响应如图6.1所示:

图6.1系统的冲激响应曲线

Matlab程序:

%求系统的阶跃响应

b=[39];a=[168];

sys=tf(b,a);t=0:

0.1:

10;y=step(sys,t);plot(t,y);

xlabel('时间(t)');ylabel('y(t)');title('单位阶跃响应');

系统的阶跃响应如图6.2所示:

图6.2系统的阶跃响应曲线

(2)Matlab程序:

%求系统在正弦激励下的零状态响应

b=[1];a=[101];

sys=tf(b,a);t=0:

0.1:

10;

x=cos(t);y=lsim(sys,x,t);plot(t,y);

xlabel('时间(t)');ylabel('y(t)');title('零状态响应');

系统的零状态响应如图6.3所示:

图6.3系统的零状态响应曲线

Matlab程序:

%求系统的全响应

b=[1];a=[101];

[ABCD]=tf2ss(b,a);t=0:

0.1:

10;

x=cos(t);zi=[-10];

y=lsim(sys,x,t,zi);

plot(t,y);

xlabel('时间(t)');ylabel('y(t)');title('系统的全响应');

系统的全响应如图6.4所示:

图6.4系统全响应曲线

(3)MATLAB程序:

clearall;

T=0.1;t=0:

T:

10;f=3*t.*sin(t);

h=t.*exp(-2*t).*Heaviside(t);Lf=length(f);Lh=length(h)

fork=1:

Lf+Lh-1

y(k)=0;

fori=max(1,k-(Lh-1)):

min(k,Lf)

y(k)=y(k)+f(i)*h(k-i+1);

end

yzsapper(k)=T*y(k);

end

subplot(3,1,1);%f(t)的波形

plot(t,f);title('f(t)');

subplot(3,1,2);%h(t)的波形

plot(t,h);title('h(t)');

subplot(3,1,3);%零状态响应近似结果的波形

plot(t,yzsapper(1:

length(t)));title('零状态响应近似结果');xlabel('时间');

系统响应如图6.5所示:

图6.5系统的响应曲线

2、程序设计实验

(1)MATLAB程序:

clf;

a=[10.99646397.8121318.11];b=[1.65-0.331-57690.619080];

sys=tf(b,a);s=0:

0.0005:

2;

x=exp(s);y=lsim(sys,x,s);plot(s,y);

xlabel('s');ylabel('H(s)');title('零状态响应');

该系统在指数函数激励下的零状态响应如图6.6所示:

图6.6系统的零状态响应曲线

(2)Matlab程序:

clf;

b=[-0.475-0.248-0.1189-0.0564];

a=[10.63630.93960.51230.0037];

sys=tf(b,a);t=1:

0.0005:

10;

y1=impulse(sys,t);subplot(2,2,1);plot(t,y1);title('冲激响应');

y2=step(sys,t);subplot(2,2,2);plot(t,y2);title('阶越响应');

b=3;t0=1;u=stepfun(t,t0);n=length(t)

fori=1:

n

u(i)=b*u(i)*(t(i)-t0);

end

x=sin(t);y3=lsim(sys,u,t);subplot(2,2,3);plot(t,y3);title('斜坡响应');

y4=lsim(sys,x,t);subplot(2,2,4);plot(t,y4);title('正弦激励响应');

该系统在冲激、阶跃、斜坡和正弦激励下的零状态响应分别如图6.7所示:

图6.7系统的零状态响应曲线

(3)MATLAB程序:

clf;

b=[23];a=[144];

[ABCD]=tf2ss(b,a);

sys=ss(A,B,C,D);

t=1:

0.0005:

10;n=length(t)

fori=1:

n

x(i)=0;

end

zi=[21];y=lsim(sys,x,t,zi);

plot(t,y);

系统的零状态响应如图6.8所示:

图6.8系统的零状态响应曲线

 

实验10周期信号的合成与分解

1、验证性实验

1)周期信号的分解

MATLAB程序:

clf;%周期信号的分解

t=0:

0.01:

2*pi;

y=zeros(10,max(size(t)));

x=zeros(10,max(size(t)));

fork=1:

2:

9;

x1=sin(k*t)/k;

x(k,:

)=x(k,:

)+x1;

y((k+1)/2,:

)=x(k,:

);

end

subplot(2,1,1);plot(t,y(1:

9,:

));

grid;

line([0,pi+0.5],[pi/4,pi/4]);text(pi+0.5,pi/4,'pi/4');

halft=ceil(length(t)/2);subplot(2,1,2);

mesh(t(1:

halft),[1:

10],y(:

1:

halft));

周期信号的分解如图10.2所示:

图10.2周期信号的分解

2)傅里叶级数逼近

MATLAB程序:

clf;%宽度为1,高度为1,周期为2的正方波,傅里叶级数逼近

t=-2:

0.001:

2;%信号的抽样点

N=20;c0=0.5;

f1=c0*ones(1,length(t));%计算抽样上的直流分量

forn=1:

N%偶次谐波为零

f1=f1+cos(pi*n*t)*sinc(n/2);

end

plot(t,f1);axis([-22-0.20.8]);

方波的傅里叶级数逼近如图10.3所示:

图10.3方波的傅里叶级数逼近

3)用正弦信号的叠加近似合成一频率为50HZ,幅度为3的方波

Matlab程序:

clearall;

fs=10000;t=[0:

1/fs:

0.1];f0=50;sum=0;subplot(211)

forn=1:

2:

9;

plot(t,4/pi*1/n*sin(2*pi*n*f0*t),'k');

title('信号叠加前');holdon;

end

subplot(212)

forn=1:

2:

9;

sum=sum+4/pi*1/n*sin(2*pi*n*f0*t);

end

plot(t,sum,'k');title('信号叠加后');

正弦信号的叠加如图10.4所示:

图10.4正弦信号的叠加

4)Gibbs现象

MATLAB程序:

t=-1.5:

0.01:

1.5;

wo=4,E=1;

N=10;

xN=0;

forn=1:

N

an=(E/(n*pi))*(sin(n*pi/2)-sin(n*3*pi/2))

xN=xN+an.*cos(n*wo*t);

end

subplot(221);plot(t,xN)

xlabel('time');

ylabel('approximationN');

axis([-22-0.70.7]);

吉布斯现象如图10.5所示:

图10.5吉布斯现象曲线

2、程序设计实验:

Matlab程序:

clearall;

fs=1000;

t=[0:

1/fs:

0.1];f0=50;sum=0;subplot(2,1,1);

forn=1:

2:

9;

plot(t,4/pi*1/n*sin(2*pi*f0*t*n),'k');

title('信号叠加前');

holdon;

end

subplot(2,1,2);

forn=1:

2:

9;

sum=sum+3*4/pi*1/n*sin(2*pi*f0*t*n);

end

plot(t,sum,'k');

title('信号叠加后');

方波合成后的结果如图10.6所示:

图10.6方波的合成结果

 

实验11连续LTI系统的频域分析

1、验证性实验

1)编程实现信号的傅里叶变换和傅里叶逆变换

(1)傅里叶变换。

MATLAB程序:

symst;

f=fourier(exp(-2*abs(t)));

ezplot(f);

信号f(t)的傅里叶变换如图11.4所示:

图11.4信号f(t)的傅里叶变换

MATLAB程序:

symstvwf

f=2/3*exp(-3*t)*sym('Heaviside(t)');

F=fourier(f);

subplot(2,1,1);

ezplot(f);

subplot(2,1,2);

ezplot(abs(F));

f(t)的波形及及幅频特性曲线如图11.5所示:

图11.5信号f(t)的波形及其幅频特性曲线

(2)傅里叶逆变换。

MATLAB程序:

symstm

ifourier(1/(1^2),t)

结果为ans=Dirac(t)

(3)傅里叶变换数值计算。

Matlab程序:

R=0.02;t=-2:

R:

2;

f=stepfun(t,-1)-stepfun(t,1);

W1=2*pi*5;%频率宽度

N=500;%采样数为N

k=0:

N;

W=k*W1/N;%W为频率正半轴的采样点

F=f*exp(-j*t'*W)*R;%求F(jw)

F=real(F);W=[-fliplr(W),W(2:

501)];

F=[fliplr(F),F(2:

501)];

subplot(2,1,1);plot(t,f);

xlabel('t');ylabel('f(t)');axis([-2,2,-0.5,2]);

title('f(t)=u(t+1)-u(t-1)');subplot(2,1,2);plot(W,F);

xlabel('w');ylabel('F(w)');title('f(t)的傅里叶变换');

信号的傅里叶变换如图11.6所示:

图11.6信号的傅里叶变换

(4)连续函数的傅里叶变换。

Matlab程序:

clf;

dt=2*pi/8;w=linspace(-2*pi,2*pi,2000)/dt;

k=-2:

2;f=ones(1,5);F=f*exp(-j*k'*w);

f1=abs(F);plot(w,f1);grid;

连续函数的傅里叶变换如图11.7所示:

图11.7连续函数的傅里叶变换

(5)连续周期信号的傅里叶变换。

Matlab程序:

clf;%计算连续周期信号的傅里叶级数

N=8;n1=-N:

-1;%计算N为负数时的傅里叶级数

c1=-4*j*sin(n1*pi/2)/pi^2./n1.^2;

c0=0;%计算为N为零时的傅里叶级数

n2=1:

N;%计算N为正数时的傅里叶级数

c2=-4*j*sin(n2*pi/2)/pi^2./n2.^2;cn=[c1c0c2];n=-N:

N;

subplot(2,1,1);Stem(n,abs(cn));ylabel('AmofCN');Subplot(2,1,2);

stem(n,angle(cn));ylabel('phaseofCN');xlabel('\omega/\omega0');

连续周期信号的傅里叶级数如图11.8所示:

图11.8连续周期信号的傅里叶级数

2)傅里叶变换的时移特性

(1)MATLAB程序:

r=0.02;t=-5:

r:

5;N=200;W=2*pi;k=-N:

N;w=k*W/N;

f1=1/2*exp(-2*t).*stepfun(t,0);F=r*f1*exp(-j*t'*w);F1=abs(F);

P1=angle(F);subplot(3,1,1);plot(t,f1);gridxlabel('t');ylabel('f(t)');

title('f(t)');subplot(3,1,2)plot(w,F1);xlabel('w');grid;ylabel('F(jw)');subplot(3,1,3)

plot(w,P1*180/pi);grid;xlabel('w');ylabel('相位(度)');

傅里叶变换的时移特性如图11.9所示:

图11.9傅里叶变换的时移特性

(2)f(t-1)的频谱。

Matlab程序:

r=0.02;t=-5:

r:

5;N=200;W=2*pi;k=-N:

N;w=k*W/N;

f1=1/2*exp(-2*(t-1)).*stepfun(t,1);

F=r*f1*exp(-j*t'*w);

F1=abs(F);P1=angle(F);subplot(3,1,1);plot(t,f1);gridon

xlabel('t');ylabel('f(t)');title('f(t-1)');subplot(3,1,2);

plot(w,F1);xlabel('w');gridon;ylabel('F(jw)的模');

subplot(3,1,3);plot(w,P1*180/pi);grid;xlabel('w');ylabel('相位(度)');

傅里叶变换的时移特性如图11.10所示:

图11.10傅里叶变换的时移特性

3)傅里叶变换的频移特性

Matlab程序:

R=0.02;t=-2:

R:

2;f=stepfun(t,-1)-stepfun(t,1);

f1=f.*exp(-j*10*t);f2=f.*exp(j*10*t);W1=2*pi*5;

N=500;k=-N:

N;W=k*W1/N;

F1=f1*exp(-j*t'*W)*R;

F2=f2*exp(-j*t'*W)*R;

F1=real(F1);F2=real(F2);subplot(2,1,1);plot(W,F1);

xlabel('w');ylabel('F1(jw)');title('频谱F1(jw)');

subplo

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

当前位置:首页 > 工程科技 > 能源化工

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

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