中南大学 信号与系统matlab实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一基本信号的生成
1.实验目的
⚫学会使用 MATLAB 产生各种常见的连续时间信号与离散时间信号;
⚫通过 MATLAB 中的绘图工具对产生的信号进行观察,加深对常用信号的理解;
⚫熟悉 MATLAB 的基本操作,以及一些基本函数的使用,为以后的实验奠定基础。
2.实验内容
⑴ 运行以上九个例子程序,掌握一些常用基本信号的特点及其MATLAB 实现方法;改变有关参数,进一步观察信号波形的变化。
⑵ 在k = [-10:10] 范围内产生并画出以下信号:
a)f1[k] =[k];
b)f2[k]=[k+2];
c)f3[k]=[k-4];
d) f [k]=2[k+2]-[k-4]。
源程序:
k=-10:10; f1k=[zeros(1,10),1,zeros(1,10)];
subplot(2,2,1)
stem(k,f1k)
title('f1[k]') f2k=[zeros(1,8),1,zeros(1,12)];
subplot(2,2,2)
stem(k,f2k)
title('f2[k]') f3k=[zeros(1,14),1,zeros(1,6)];
subplot(2,2,3)
stem(k,f3k)
title('f3[k]')
f4k=2*f2k-f3k;
subplot(2,2,4)
⑶ 在k =[0:31] 范围内产生并画出以下信号:
a) f1[k]=sin(4k)cos(4k);
b) f2[k]=cos2(4k);
c) f3[k] = sin(4k)cos(8k) 。
请问这三个信号的基波周期分别是多少?
源程序:
k=0:31;
f1k=sin(pi/4*k).*cos(pi/4*k); subplot(3,1,1)
stem(k,f1k)
title('f1[k]')
f2k=(cos(pi/4*k)).^2;
subplot(3,1,2)
stem(k,f2k)
title('f2[k]') f3k=sin(pi/4*k).*cos(pi/8*k); subplot(3,1,3)
其中 f1[k]的基波周期是4, f2[k]的基波周期是 4, f3[k]的基波周期是16。
实验二信号的基本运算
1.实验目的
⚫学会使用 MATLAB 完成信号的一些基本运算;
⚫了解复杂信号由基本信号通过尺度变换、翻转、平移、相加、相乘、差分、求和、微分及积分等运算来表达的方法;
⚫进一步熟悉 MATLAB 的基本操作与编程,掌握其在信号分析中的运用特点与使用方式。
2.实验内容
⑴ 运行以上三个例题程序,掌握信号基本运算的 MATLAB 实现方法;改变有关参数,考察相应信号运算结果的变化特点与规律。
⑵ 已知信号f (t)如下图所示:
a) 用MATLAB 编程复现上图;%作业题2 a:t=-6:0.001:6; ft1=tripuls(t,6,0.5); subplot(2,1,1) plot(t,ft1) title('f(t)')
b) 画出f(2- 2t) 的波形;
%b
t=-6:0.001:6;
ft1=tripuls(2*(1-t),6,0.5);
%subplot(1,1,1)
plot(t,ft1)
title('f(2*(1-t)')
c) 画出df d(t t)的波形;
%c
h=0.001;t=-6:h:6;
yt=tripuls(t,6,0.5); y1=diff(yt)*1/h; plot(t(1:length(t)-1),y1) title('df(t)/dt')
d) 画出f()d的波形。
-
%d
t=-6:0.1:6;
for x=1:length(t)
y2(x)=quad('tripuls(t,6,0.5)',-3,t(x));
end
plot(t,y2)
title('integral of f(t)')
实验三系统的时域分析
1.实验目的
⚫学习并掌握连续时间系统的零状态响应、冲激响应和阶跃响应的 MATLAB 求解方法;
⚫学习并掌握离散时间系统的零状态响应、冲激响应和阶跃响应的 MATLAB 求解方法;
⚫进一步深刻理解连续时间系统和离散时间系统的系统函数零极点对系统特性的影响;
学习并掌握卷积的 MATLAB 计算方法。
2.实验内容
⑴ 运行以上五个例题程序,掌握求解系统响应的 MATLAB 分析方法;改变模型参数,考察系统响应的变化特点与规律。
⑵ 设离散系统可由下列差分方程表示:
y[k]-y[k-1]+0.9y[k-2] = f[k]
计算k =[-20:100]时的系统冲激响应。
源程序:
k=-20:100; a=[1 -1 0.9]; b=[1]; h=impz(b,a,k);
stem(k,h);
xlabel('Time(sec)')
⑶ 设h[k]=(0.9)k u(k),输入f[k]=u[k]-u[k-10],求系统输出y[k]=f[k]h[k]。
(取k =[-10:50])
源程序:
k=-10:50;
uk=[zeros(1,10),ones(1,51)]; u1k=[zeros(1,20),ones(1,41)];
hk=0.9.^k.*uk;
fk=uk-u1k;
yk=conv(hk,fk); stem(0:length(yk)-1,yk);