没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论







《信号与系统》实验指导书
《信号与系统及 MATLAB 实现》
实验指导书
信息工程学院实验中心
2009 年 3 月
1

《信号与系统》实验指导书
前 言
长期以来,《信号与系统》课程一直采用单一理论教学方式,同学们依靠做习题来巩
固和理解教学内容,虽然手工演算训练了计算能力和思维方法,但是由于本课程数学公式
推导较多,概念抽象,常需画各种波形,作题时难免花费很多时间,现在,我们给同学们
介绍一种国际上公认的优秀科技应用软件 MATLAB,借助它我们可以在电脑上轻松地完成
许多习题的演算和波形的绘制。
MATLAB 的功能非常强大,我们此处仅用到它的一部分,在后续课程中我们还会用
到它,在未来地科学研究和工程设计中有可能继续用它,所以有兴趣的同学,可以对
MATLAB 再多了解一些。
MATLAB 究竟有那些特点呢?
1.高效的数值计算和符号计算功能,使我们从繁杂的数学运算分析中解脱出来;
2.完备的图形处理功能,实现计算结果和编程的可视化;
3.友好的用户界面及接近数学表达式的自然化语言,易于学习和掌握;
4.功能丰富的应用工具箱,为我们提供了大量方便实用的处理工具;
MATLAB 的这些特点,深受大家欢迎,由于个人电脑地普及,目前许多学校已将它做
为本科生必须掌握的一种软件。正是基于这些背景,我们编写了这本《信号与系统及
MATLAB 实现》指导书,内容包括信号的 MATLAB 表示、基本运算、系统的时域分析、
频域分析、S 域分析、状态变量分析等。通过这些练习,同学们在学习《信号与系统》的
同时,掌握 MATLAB 的基本应用,学会应用 MATLAB 的数值计算和符号计算功能,摆脱
烦琐的数学运算,从而更注重于信号与系统的基本分析方法和应用的理解与思考,将课程
的重点、难点及部分习题用 MATLAB 进行形象、直观的可视化计算机模拟与仿真实现,加
深对信号与系统的基本原理、方法及应用的理解,为学习后续课程打好基础。另外同学们
在进行实验时,最好事先预习一些 MATLAB 的有关知识,以便更好地完成实验,同时实验
中也可利用 MATLAB 的 help 命令了解具体语句以及指令的使用方法。
2

《信号与系统》实验指导书
实验一 基本信号在 MATLAB 中的表示和运算
一、实验目的
1. 学会用 MATLAB 表示常用连续信号的方法;
2. 学会用 MATLAB 进行信号基本运算的方法;
二、实验原理
1. 连续信号的 MATLAB 表示
MATLAB 提供了大量的生成基本信号的函数,例如指数信号、正余弦信号。
表示连续时间信号有两种方法,一是数值法,二是符号法。数值法是定义某一时
间范围和取样时间间隔,然后调用该函数计算这些点的函数值,得到两组数值矢量,
可用绘图语句画出其波形;符号法是利用 MATLAB 的符号运算功能,需定义符号变量
和符号函数,运算结果是符号表达的解析式,也可用绘图语句画出其波形图。
例 1-1 指数信号 指数信号在 MATLAB 中用 exp 函数表示。
如 ,调用格式为 ft=A*exp(a*t) 程序是
A=1; a=-0.4;
t=0:0.01:10; %定义时间点
ft=A*exp(a*t); %计算这些点的函数值
plot(t,ft); %画图命令,用直线段连接函数值表示曲线
grid on; %在图上画方格
例 1-2 正弦信号 正弦信号在 MATLAB 中用 sin 函数表示。
调用格式为 ft=A*sin(w*t+phi)
A=1; w=2*pi; phi=pi/6;
t=0:0.01:8; %定义时间点
ft=A*sin(w*t+phi); %计算这些点的函数值
plot(t,ft); %画图命令
grid on; %在图上画方格
例 1-3 抽样信号 抽样信号 Sa(t)=sin(t)/t 在 MATLAB 中用 sinc 函数表示。
定义为
t=-3*pi:pi/100:3*pi;
ft=sinc(t/pi);
plot(t,ft);
grid on;
3

《信号与系统》实验指导书
axis([-10,10,-0.5,1.2]); %定义画图范围,横轴,纵轴
title('抽样信号') %定义图的标题名字
例 1-4 三角信号 三角信号在 MATLAB 中用 tripuls 函数表示。
调用格式为 ft=tripuls(t,width,skew),产生幅度为 1,宽度为 width,且以 0 为中心左右各
展开 width/2 大小,斜度为 skew 的三角波。width 的默认值是 1,skew 的取值范围是-1~+1
之间。一般最大幅度 1 出现在 t=(width/2)*skew 的横坐标位置。
t=-3:0.01:3;
ft=tripuls(t,4,0.5);
plot(t,ft); grid on;
axis([-3,3,-0.5,1.5]);
例1-5 虚指数信号 调用格式是 f=exp((j*w)*t)
t=0:0.01:15;
w=pi/4;
X=exp(j*w*t);
Xr=real(X); %取实部
Xi=imag(X); %取虚部
Xa=abs(X); %取模
Xn=angle(X); %取相位
subplot(2,2,1),plot(t,Xr),axis([0,15,-(max(Xa)+0.5),max(Xa)+0.5]),
title('实部');
subplot(2,2,3),plot(t,Xi),axis([0,15,-(max(Xa)+0.5),max(Xa)+0.5]),
title('虚部');
subplot(2,2,2), plot(t,Xa),axis([0,15,0,max(Xa)+1]),title('模');
subplot(2,2,4),plot(t,Xn),axis([0,15,-(max(Xn)+1),max(Xn)+1]),title('相角');
%subplot(m,n,i) 命令是建立 m 行 n 列画图窗口,并指定画图位置 i
例1-6 复指数信号 调用格式是 f=exp((a+j*b)*t)
t=0:0.01:3;
a=-1;b=10;
f=exp((a+j*b)*t);
subplot(2,2,1),plot(t,real(f)),title('实部')
subplot(2,2,3),plot(t,imag(f)),title('虚部')
subplot(2,2,2),plot(t,abs(f)),title('模')
subplot(2,2,4),plot(t,angle(f)),title('相角')
例 1-7 矩形脉冲信号 矩形脉冲信号可用 rectpuls 函数产生,
调用格式为 y=rectpuls(t,width),幅度是 1,宽度是 width,以 t=0 为对称中心。
t=-2:0.01:2;
width=1;
ft=2*rectpuls(t,width);
plot(t,ft)
grid on;
4

《信号与系统》实验指导书
例 1-8 单位阶跃信号 单位阶跃信号 u(t)用“t>=0”产生,调用格式为 ft=(t>=0)
t=-1:0.01:5;
ft=(t>=0);
plot(t,ft); grid on;
axis([-1,5,-0.5,1.5]);
例 1-9 正弦信号符号算法
syms t %定义符号变量 t
y=sin(pi/4*t) %符号函数表达式
ezplot(y,[-16,16]) %符号函数画图命令
或者
f=sym('sin(pi/4*t)') %定义符号函数表达式
ezplot(f,[-16,16])
例1-10 单位阶跃信号 MATTLAB 符号数学函数 Heaviside 表示阶跃信号,但要画图需在工
作目录创建 Heaviside 的 M 文件
function f=Heaviside(t)
f=(t>0);
保存,文件名是 Heaviside ,调用该函数即可画图,例
t=-1:0.01:3;
f=heaviside(t);
plot(t,f)
axis([-1,3,-0.2,1.2])
或者
y=sym('Heaviside(t)');
ezplot(y,[-1,5]);grid on
2. 信号基本运算的 MATLAB 实现
信号基本运算是乘法、加法、尺度、反转、平移、微分、积分,实现方法有数值
法和符号法
例 1-11 以 f(t)为三角信号为例,求 f(2t) , f(2-2t)
t=-3:0.001:3;
ft=tripuls(t,4,0.5);
subplot(3,1,1);
plot(t,ft); grid on;
title ('f(t)');
ft1= tripuls(2*t,4,0.5);
subplot(3,1,2);
plot(t,ft1); grid on;
title ('f(2t)');
ft2= tripuls(2-2*t,4,0.5);
subplot(3,1,3);
plot(t,ft2); grid on;
title ('f(2-2t)');
5
剩余25页未读,继续阅读
资源评论

laishegnzhen
- 粉丝: 99
- 资源: 3

上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制
