实验要求:
1. 实验完成后交电子版和纸质版。
2. 电子版由各班学委统一收齐后,打包压缩后上传到115网盘,文件名为“信号与系统课件”下的“13级信号与系统实验报告”的文件夹中。每位同学实验报告交word格式,命名必须统一:学号—姓名—班级
3. 纸质版由各班学委统一收齐后于考前交给我。实验报告需要有统一的封皮, 可在115网盘“信号与系统课件”文件夹中下载。
4. 实验报告包括四部分:实验目的、实验原理、实验内容和结果分析(分析可以穿插在每个小的实验后)。
实验一:连续信号和离散信号的表示与卷积
一.实验目的
1. 学习MATLAB软件产生信号和实现信号的可视化 2. 学习和掌握连续和离散信号的时域表示方法 3. 学习和掌握连续信号和离散信号卷积方法
二.实验原理
1. 信号的表示方法
? 常用信号:
? 连续函数f(t)?Ae,f(t)?sin??0t???
at? 离散信号f[n]?Aa,f[n]?sin??0n???
n? 奇异信号:
? 连续函数:冲激函数?(t),阶跃函数u(t),矩形冲激函数R(t)
1
? 离散信号:冲激函数?[n],阶跃函数u[n],矩形脉冲函数R[n]
2.卷积
连续函数的卷积积分:g(t)?离散函数的卷积和:g[n]?????f1(?)f2(t??)d?
m????f[m]f[n?m]
12?三.实验内容
1. 熟悉matlab工作环境
(1) 运行matlab.exe,进入matlab工作环境,如图(1)所示。
图1 matlab工作环境
(2) matlab工作环境由Command Window(命令窗口)、Current Direcroty(当前目录)、Workspace
(工作空间)、Command History(历史命令)和Editor(文件编辑器)5部分组成。其中所有文件的编辑和调试、运行在Editor编辑窗口下进行。程序的运行也可以在命令窗口进行。程序调试的信息显示在命令窗口。
(3) 程序文件的产生:点击菜单file下的New下的M_files,进入编辑器界面,如图2。
2
图2 M文件编辑器
(4) 在m文件编辑器下键入程序代码,保存程序文件(文件命名规则同C语言)。如果所定义的
是函数文件,则要求函数名为M文件名。
(5) 程序运行需要给定义的函数参数赋值。切换到命令窗口下运行
例如指数函数定义格式 [t,y]=exp1_exp(t1,t2,dt,A,a)
指数函数文件调用方式:[t,y]=exp1_exp(-10,10,0.1,3,-1,1)
2 连续和离散信号的时域表示方法 (1) 指数信号 y(t)?Aeu(t);
function y=exp1_exp(t1,t2,dt,A,a,options)
%指数函数,其中t1,t2,dt分别为起始时间、终止时间和时间间隔 %A,a为常数 y(t)=Aexp(a*t)
%options参数等于1时为单边指数函数,其他时为双边指数函数 %函数调用的格式 y=exp1_exp(-10,10,0.1,3,-1,1) if options==1
t=0:dt:t2;%单边指数函数时间范围 else
3
?t
t=t1:dt:t2;%双边指数函数时间范围 end
y=A*exp(a*t);%指数函数 plot(t,y)%画图 grid on
xlabel('t')%X轴坐标 ylabel('y(t)')%Y轴坐标 if options==1
title(' 单边指数信号')%标题 else
title(' 双边指数信号')%标题 end
实验要求:1)在同一张图上画出a>0,a=0,a<0时指数函数波形,如图3所示. 注意:a的取值范围要适中,不要导致纵坐标相差太大。
指数信号252015y(t)1050-2-1.5-1-0.50t0.511.52
图3 指数函数
2)提示:在命令窗口设置hold on命令,可以在同一张图上画出多条曲线
(2) 单位冲激信号
function [t,y]=exp1_impulse(t1,t2,dt,t0)
%单位冲激信号,其中t1,t2,dt分别为起始时间、终止时间和时间间隔 %t0为冲激点
% 函数调用格式:[t,y]=exp1_impulse(-10,10,0.1,0); t=t1:dt:t2;
4
n=length(t); y=zeros(1,n);
y(1,(t0-t1)/dt+1)=1/dt; stairs(t,y); xlabel('t') ylabel('y(t)')
title('单位冲激信号')
实验要求:1)要求产生冲激点在X处的单位冲激函数,其中X为自己的学号中最后两位;(2)要求画出图形
(3)单位阶跃信号
function [t,y]=exp1_step(t1,t2,dt,t0)
%单位阶跃信号,其中t1,t2,dt分别为起始时间、终止时间和时间间隔 %t0为阶跃跳变点
% 函数调用格式:[t,y]=exp1_step(-10,10,0.1,3); tt1=t1:dt:t0; tt2=t0:dt:t2;
nn1=length(tt1);%length函数测量变量tt1长度 nn2=length(tt2);
y1=zeros(1,nn1);%产生1行,nn1列的零数据矩阵
y2=ones(1,nn2);;%产生1行,nn2列的数据矩阵,矩阵元素为1 t=[tt1 tt2]; y=[y1 y2]; plot(t,y) xlabel('t') ylabel('y(t)')
title('单位阶跃信号y(t)') xy_axis=axis;
axis([xy_axis(1:2) 1.5*xy_axis(3:4)-0.1])
实验要求:1)要求产生阶跃跳变点在X处的单位阶跃函数,其中X为自己的学号中最后两位;(2)要求画出图形
(4)矩形脉冲信号
function [t,y]=exp1_rectimpulse(E,width,t1,t2,dt,t0)
%矩形脉冲信号,其中t1,t2,dt分别为起始时间、终止时间和时间间隔 %t0为阶跃跳变点 %E为矩形脉冲幅值
5