没有合适的资源?快使用搜索试试~ 我知道了~
2. 掌握信号基本时域运算的MATLAB实现方法 3. 利用MATLAB分析常用信号,加深对信号时域特性的理解 3.离散时间信号的MATLAB表示离散时间信号仅
资源详情
资源评论
资源推荐
本科实验报告
实验名称: 信号与系统实验
课程名称:
信号与信息处理实验 I
实验时间:
任课教师:
实验地点:
实验教师:
学生姓名:
实验类型:
□ 原理验证
■ 综合设计
□ 自主创新
学号/班级:
组 号:
学 院:
信息与电子学院
同组搭档:
专 业:
电子信息类
成 绩:
实验一 信号的时域描述与运算
一、实验目的
1. 掌握信号的 MATLAB 表示及其可视化方法。
2. 掌握信号基本时域运算的 MATLAB 实现方法。
3. 利用 MATLAB 分析常用信号,加深对信号时域特性的理解。
二、实验原理与方法
1. 连续时间信号的 MATLAB 表示
连续时间信号指的是在连续时间范围内有定义的信号,即除了若干个不连续点外,
在任何时刻信号都有定义。在 MATLAB 中连续时间信号可以用两种方法来表示,即向量
表示法和符号对象表示法。
从严格意义上来说,MATLAB 并不能处理连续时间信号,在 MATLAB 中连续时间信号
是用等时间间隔采样后的采样值来近似表示,当采样间隔足够小时,这些采样值就可以
很好地近似表示出连续时间信号,这种表示方法称为向量表示法。表示一个连续时间信
号需要使用两个向量,其中一个向量用于表示信号的时间范围,另一个向量表示连续时
间信号在该时间范围内的采样值。例如一个正弦信号可以表示如下:
>> t=0:0.01:10;
>> x=sin(t);
利用 plot(t,x)命令可以绘制上述信号的时域波形,如图 1。
如果连续时间信号可以用表达式来描述,则还可以采用符号表达式來表示信号。例
如对于上述正弦信号,可以用符号对象表示如下:
>>syms t;
>> x=sin(t);
利用 ezplot(x)命令可以绘制上述信号的时域波形,如图 2 所示:
图 1
0 1 2 3 4 5 6 7 8 9 10
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Time(seconds)
Amplititude
图 2
matlab 提供了一些函数用于常用信号的产生,例如阶跃信号、脉冲信号、指数信号、
正弦信号等,表中列出了一些常用的基本函数。
常用信号产生函数
函数名
功能
函数名
功能
heaviside
单位阶跃函数
rectpuls
门函数
sin
正弦函数
tripuls
三角脉冲函数
cos
余弦函数
square
周期方波
sinc
sinc 函数
sawtooth
周 期 锯 齿 波 或 三 角
波
exp
指数函数
2.连续时间信号的时域运算
对连续时间信号的运算包括两信号相加、相乘、微分、积分,以及位移、反转、
尺度变换(尺度伸缩)等。
1)相加和相乘
信号相加和相乘指两信号对应时刻的值相加和相乘,对于两个采用向量表示的
可以直接使用算术运算的运算符“+”和“*”来计算,此时要求表示两信号的向量时间
范围和采样间隔相同。采用符号对象表示的两个信号,可以直接根据符号对象的运算规
则运算。
2)微分和积分
对于向量表示法表示的连续时间信号,可以通过数值计算的方法计算信号的微
分和积分。这里微分使用差分来近似求取的,由时间向量[
N
ttt ,,,
21
�
]和采样值向量
[
N
xxx ,,,
21
�
]表示的连续时间信号,其微分可以通过下式求得
1,,2,1,|)('
1
���
�
�
�
�
�
Nk
t
xx
tx
kk
tt
k
-6 -4 -2 0 2 4 6
-1
-0.5
0
0.5
1
t/s
sin(t)
其中 表示采样间隔。MATLAB 中用 diff 函数来计算差分 。
连续时间信号的定积分可以由 MATLAB 的 qud 函数实现,调用格式为
quad (‘function_name',a,b)
其中,function_name 为被积函数名,a、b 为积分区间。
对于符号对象表示的连续时间信号,MATLAB 提供了 diff 函数和 quad 函数分别用于
求微分和积分。
3)移位、反转和尺度变化
信号的移位:信号 x(t)的自变量 t 更换为(t-t0),表示 x(t)波形在 t 轴上整体移动,
当 t0<0 整体左移。
信号的反转:信号 x(t)的自变量 t 更换为-t,x(t)的波形相当于以 t=0 为轴反转过
来。
信号的尺度变换:信号 x(t)的自变量 t 更换为 at,x(at)表示信号压缩(a>0)或
拉伸(a<0)。
3.离散时间信号的 MATLAB 表示
离散时间信号仅在一些离散时刻有定义。在 MATLAB 中离散时间信号需要使用两个
向量来表示,其中一个向量用于表示离散的时间点,另一个向量表示在这些时间点上的
值。例如对于如下时间信号
}3,2,1,1,2,1,2,3{)( ����nx
采用 MATLAB 可以表示如下:
>> n=-3:4;
>> x=[-3 2 -1 2 1 -1 2 3];
>> stem(n,x,'filled');
>> xlabel('n');
>> title('x(n)');
Stem 函数用于绘制离散时间信号波形,为了与我们表示离散时间信号的习惯相同,
在绘图时一般需要添加‘filled’选项,以绘制实心的杆状图形。上述命令绘制的信号
时域波形如图 3 所示。
图表 3
t�
kk
xx �
�1
-3 -2 -1 0 1 2 3 4
-3
-2
-1
0
1
2
3
n
图 3 离 散 时 间 信 号 示 例
x(n)
4.离散时间信号的时域运算
离散时间信号的相加相乘是将两个信号对应的时间点上的值相加或相乘,可以
直接使用算术运算的运算符“+”和“*”来计算。
离散时间信号的位移,则可看作是将表示时间的向量平移,而表示对应时间点上的
值的向量不变。
离散时间信号的反转,则可以看作是将表示时间的向量和表示对应时间点上的值的
向量以零点为基准点,一纵轴为对称轴反折,向量的反折可以利用 MATLAB 的 fliplr 函
数实现。
三、实验内容
1、利用 MATLAB 绘制下列连续时间信号波形:
<1>
)()1()(
5.0
tuetx
t
�
��
syms t;
x=(1-exp(-0.5*t))*heaviside(t);
ezplot(x);
<2>
� �
)2()()cos()( ���
tututtx �
syms t;
x=cos(pi*t)*(heaviside(t)-heaviside(t-2));
ezplot(x);
0 1 2 3 4 5 6
t
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-heaviside(t) (exp(-t/2) - 1)
剩余98页未读,继续阅读
光与火花
- 粉丝: 25
- 资源: 335
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0