东华大学信息学院信号与系统课程设计.docx
- 文档编号:17339875
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:71
- 大小:1.12MB
东华大学信息学院信号与系统课程设计.docx
《东华大学信息学院信号与系统课程设计.docx》由会员分享,可在线阅读,更多相关《东华大学信息学院信号与系统课程设计.docx(71页珍藏版)》请在冰点文库上搜索。
东华大学信息学院信号与系统课程设计
信号与系统的试验
实验一连续时间信号时域分析
1、用MATLAB表示连续信号:
,
,
(1)
代码
clear;close;
symst
A=3
a=2
u=A*exp(a*t)
ezplot(u,[-1010])
xlabel('t');
title('u(t)=A*exp(a*t)');
gridon
结果
A=
3
a=
2
u=
3*exp(2*t)
图像
(2)
,
代码
clearall
closeall
symst
A=2
w=1/2*pi
a=1/6*pi
f=A*cos(w*t+a)
ezplot(f,[-1010]);
xlabel('t');
title('f(t)=A*cos(w*t+a)');
holdon
结果
A=
2
w=
1.5708
a=
0.5236
f=
2*cos(pi/6+(pi*t)/2)
图像
(3)
代码
clearall
closeall
symst
A=2
w=1/2*pi
a=1/6*pi
f=A*sin(w*t+a)
ezplot(f,[-1010]);
xlabel('t');
title('f(t)=A*sin(w*t+a)');
gridon
结果
A=
2
w=
1.5708
a=
0.5236
f=
2*sin(pi/6+(pi*t)/2)
图像
2、用MATLAB表示抽样信号(sinc(t))、矩形脉冲信号(rectpuls(t,width))及三角脉冲信号(tripuls(t,width,skew))。
(1)抽样信号(sinc(t))
代码
clearall
closeall
symst
f=sinc(t)
ezplot(f,[-1010]);
xlabel('t');
title('f(t)=sinc(t)');
gridon
结果
f=
sin(pi*t)/(pi*t)
图像
(2)矩形脉冲信号(rectpuls(t,width))
代码
closeall
width=1
t=-10:
0.001:
10;
f=rectpuls(t,width)
plot(t,f)
xlabel('t');
title('f(t)=rectpuls(t,width)');
axis([-10,10,-2,2])
gridon
结果
(3)三角脉冲信号(tripuls(t,width,skew))
代码
clearall;closeall;
t=-5:
0.01:
5
width=4
skew=0.5
f=tripuls(t,width,skew)
plot(t,f)
xlabel('t');
title('f=tripuls(t,width,skew)');
axis([-10,10,-2,2])
gridon
图像
3、编写如图3的函数并用MATLAB绘出满足下面要求的图形。
(0)f(t)
代码
clearall;closeall;
t=0:
0.01:
12
f=4*rectpuls(t-6,12)+3*tripuls(t-6,4,0)
plot(t,f)
xlabel('t');
title('f');
axis([0,14,0,10])
图像
(1)f(-t)
代码
clearall;closeall;
t=-20:
0.01:
20
f=4*rectpuls(-t-6,12)+3*tripuls(-t-6,4,0)
plot(t,f)
xlabel('t');
title('f(-t)');
axis([-14,4,0,10])
gridon
图像
(2)f(t-2)
代码
clearall;closeall;
t=-20:
0.01:
20
f=4*rectpuls(t-8,12)+3*tripuls(t-8,4,0)
plot(t,f)
xlabel('t');
title('f(t-2)');
axis([0,16,0,10])
gridon
结果
(3)f(1-2t)
代码
clearall;closeall;
t=-20:
0.01:
20
f=4*rectpuls(1-2*t-6,12)+3*tripuls(1-2*t-6,4,0)
plot(t,f)
xlabel('t');
title('f(1-2t)');
axis([-6,6,0,10])
gridon
结果
(4)f(0.5t+1)
代码
clearall;closeall;
t=-20:
0.01:
30
f=4*rectpuls(0.5*t+1-6,12)+3*tripuls(0.5*t+1-6,4,0)
plot(t,f)
xlabel('t');
title('f(0.5t+1)');
axis([-10,30,0,10])
gridon
结果
实验二离散时间信号时域分析
1、用MATLAB表示离散信号:
,
。
(1)
代码
clearall;closeall;
k=-10:
10;a=2;
f=a.^k.*u(k)%其中u(k)为被调用函数
stem(k,f,'filled')
xlabel('k')
title('f=a^k*u[k]')
axis([-10,10,0,300])
结果
u=
Columns1through14
00000000001111
Columns15through21
1111111
f=
Columns1through7
0000000
Columns8through14
0001248
Columns15through21
1632641282565121024
图像
(2)
代码
clearall;closeall;
k=-10:
10;
A=2
f=A.*sin(k)
stem(k,f,'filled')
xlabel('k');
title('f=Asin[k]');
axis([-10,10,-4,4])
gridon;
结果
A=
2
f=
Columns1through8
1.0880-0.8242-1.9787-1.31400.55881.91781.5136-0.2822
Columns9through16
-1.8186-1.682901.68291.81860.2822-1.5136-1.9178
Columns17through21
-0.55881.31401.97870.8242-1.0880
图像
2、已知离散序列波形如图4所示,试用MATLAB绘出满足下列要求的序列波形。
(1)f[k-2]u[k]
(2)f[-k](3)f[-k+2](4)f[k-2]u[k-2]
图4
(0)f=f[k]
代码
clearall;closeall;
k=-10:
10;
f=0*x(k+6)+x(k+5)+3*x(k+4)+6*x(k+3)+10*x(k+2)+15*x(k+1)+14*x(k)+12*x(k-1)+9*x(k-2)+5*x(k-3)+0*x(k-4)+0*x(k-5)
stem(k,f)
xlabel('k');
title('f[k]');
axis([-10,10,0,16])
gridon
结果
x=
Columns1through14
00000000000000
Columns15through21
0100000
f=
Columns1through14
000001361015141295
Columns15through21
0000000
图像
(1)f1=f[k-2]u[k]
代码
clearall;closeall;
k=-10:
10;
f1=(0*x(k-2+6)+x(k-2+5)+3*x(k-2+4)+6*x(k-2+3)+10*x(k-2+2)+15*x(k-2+1)+14*x(k-2)+12*x(k-2-1)+9*x(k-2-2)+5*x(k-2-3)+0*x(k-2-4)+0*x(k-2-5)).*u(k)
stem(k,f1)
xlabel('k1');
title('f[k-2]u[k]');
axis([-10,10,0,16])
gridon
结果
x=
Columns1through14
00000000000000
Columns15through21
0001000
u=
Columns1through14
00000000001111
Columns15through21
1111111
f1=
Columns1through14
000000000010151412
Columns15through21
9500000
图像
(2)f2=f[-k]
代码
clearall;closeall;
k=-10:
10;
f2=0*x(-k+6)+x(-k+5)+3*x(-k+4)+6*x(-k+3)+10*x(-k+2)+15*x(-k+1)+14*x(-k)+12*x(-k-1)+9*x(-k-2)+5*x(-k-3)+0*x(-k-4)+0*x(-k-5)
stem(k,f2)
xlabel('k');
title('f2=f[-k]');
axis([-10,10,0,16])
gridon
结果
x=
Columns1through14
00000100000000
Columns15through21
0000000
f2=
Columns1through14
000000059121415106
Columns15through21
3100000
图像
(3)f3=f[-k+2]
代码
clearall;closeall;
k=-10:
10;
f3=0*x(-k+2+6)+x(-k+2+5)+3*x(-k+2+4)+6*x(-k+2+3)+10*x(-k+2+2)+15*x(-k+2+1)+14*x(-k+2)+12*x(-k+2-1)+9*x(-k+2-2)+5*x(-k+2-3)+0*x(-k+2-4)+0*x(-k+2-5)
stem(k,f3)
xlabel('k');
title('f3=f[-k+2]');
axis([-10,10,0,16])
gridon
结果
x=
Columns1through14
00000001000000
Columns15through21
0000000
f3=
Columns1through14
00000000059121415
Columns15through21
10631000
图像
(4)f4=f[k-2]u[k-2]
代码
clearall;closeall;
k=-10:
10;
f4=(0*x(k-2+6)+x(k-2+5)+3*x(k-2+4)+6*x(k-2+3)+10*x(k-2+2)+15*x(k-2+1)+14*x(k-2)+12*x(k-2-1)+9*x(k-2-2)+5*x(k-2-3)+0*x(k-2-4)+0*x(k-2-5)).*u(k-2)
stem(k,f4)
xlabel('k');
title('f4=f[k-2]u[k-2]');
axis([-10,10,0,16])
gridon
结果
x=
Columns1through14
00000000000000
Columns15through21
0001000
u=
Columns1through14
00000000000011
Columns15through21
1111111
f4=
Columns1through14
0000000000001412
Columns15through21
9500000
图像
3、若
,计算
。
clearall;closeall;
x=[1,1,1,1,0,0]
f=conv(x,x)
n=0:
10
stem(n,f,'filled')
xlabel('n');
title('f=x[n]*x[n]');
axis([0,10,0,10])
gridon
结果
x=
111100
f=
12343210000
n=
012345678910
图像
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
实验内容
1.分别用函数lsim和卷积积分两种方法求如图8所示系统的零状态响应。
其中L=1,R=2,
,
。
图8
(1)方法一lsim方法求解零状态响应
系统函数方程为Li’(t)+Ri(t)=e(t)
带入L=1R=2得i’(t)+2i(t)=e(t)
代码
clearall;closeall;
ts=0;te=10;dt=0.001;
t=ts:
dt:
te;
e=exp(-t).*u(t)
a=[12];b=[1];
y=lsim(b,a,e,t);plot(t,y);
xlabel('Time(sec)')
ylabel('y(t)')
axis([010,00.3])
gridon;
结果
(2)方法二卷积积分法求零状态响应
系统的冲激响应为h(t)=exp(-2t)u(t)
则系统的零状态响应为y(t)=h(t)*e(t)
代码
clearall;closeall;
symsxt;
e=exp(-x);
h=exp(-2.*(t-x));
y=int(e.*h,x,0,t);
ezplot(y,[0,10]);
xlabel('Time(sec)');
ylabel('y(t)');
title('exp(-t)*exp(-2t)');
gridon;
结果
2.求上述系统的冲激响应与阶跃响应。
(1)系统的冲激响应
代码
clearall;closeall;
t=0:
0.01:
10;
a=[12];b=[1];
impulse(b,a,10);
xlabel('Time(sec)');
ylabel('h(t)')
axis([0,10,-0.2,1]);
gridon;
结果
(2)系统阶跃响应
代码
clearall;closeall;
t=0:
0.01:
10;
a=[12];b=[1];
step(b,a,10);
xlabel('Time(sec)');
ylabel('i(t)')
axis([0,10,-0.2,1]);
gridon;
结果
实验四离散时间系统时域分析
1、假设某系统的单位函数响应
,系统激励信号
,求系统的零状态响应,并画图表示。
解:
y[k]=h[k]*x[k]
代码
clearall;closeall;
x=[1,1,1,1]
k=[0,1,2,3];
h=(0.8).^k.*u(k)
y=conv(h,x)
k=[0,1,2,3,4,5,6];
stem(k,y,'filled');
xlabel('k');
ylabel('y[k]')
title('y=x[k]*h[k]');
axis([0,8,0,4]);
gridon;
结果
x=
1111
h=
1.00000.80000.64000.5120
y=
1.00001.80002.44002.95201.95201.15200.5120
图像
2、采用P61recur.M计算系统响应:
画出
时的系统响应。
四、实验内容
1、求如图10所示周期矩形脉冲信号的Fourier级数表达式,画出频谱图,并用前N次谐波合成的信号近似。
解:
实验原理:
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
(0)f(t)的原函数图像
代码
clearall;closeall;
symstn;
T=2*pi;%设T为2*PI
N=9;%设N为
f=heaviside(t)-2*heaviside(t-T/2)+heaviside(t-T);
ezplot(f,[0,2*pi]);
title('原函数');
xlabel('t');
ylabel('f(t)')
gridon;
图像
(1)f(t)的频谱图
代码
clearall;closeall;
symstn;
T=2*pi;%设T为2*PI
N=9;%设N为
f=heaviside(t)-2*heaviside(t-T/2)+heaviside(t-T);%原函数
h=exp(-j*n*2*pi/T*t);%用指数傅里叶级数表示,角频率2*pi/T
C1=int(f.*h,t,0,T);
C2=1/T*C1;
forn1=-N:
-1
C(n1+10)=subs(C2,n,n1);
end
forn1=1:
N
C(n1+10)=subs(C2,n,n1);
end
C(10)=0;
subplot(2,1,1);
k=-N:
N;
stem(k,abs(C));%作出幅度谱
title('Cn的频谱')
ylabel('|Cn|');
xlabel('w');
gridon;
subplot(2,1,2);
stem(k,angle(C));%作出相位谱
title('Cn的相位谱')
ylabel('φn');
xlabel('w');
gridon;
图像
(2)前N次谐波合成的信号近似
代码
clearall;closeall;
symsnt;
T=2*pi;
N=9;
f=heaviside(t)-2*heaviside(t-T/2)+heaviside(t-T);%原函数
h=exp(-j*n*2*pi/T*t);%用指数傅里叶级数表示,角频率2*pi/T
C1=int(f.*h,t,0,T);
C2=1/T*C1;
forn1=-N:
-1
C(n1+10)=subs(C2,n,n1);
end
forn1=1:
N
C(n1+10)=subs(C2,n,n1);
end
C(10)=0;
f1=0;
form=-N:
N
f1=f1+1/2*C(m+10)*exp(j*m*t);
%前N次谐波合成的信号近似
end
ezplot(f1,[0,2.01*pi]);
title('前N次谐波合成的信号近似图像');
xlabel('t');
ylabel('f1(t)')
gridon;
图像
2、试用fourier()函数求下列信号的傅里叶变换
并画出
实验原理
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
—————————————————————————
(1)
代码
clearall;close
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 东华 大学 信息 学院 信号 系统 课程设计