实验一离散时间信号的表示与运算
一实验目的
1、熟悉MATLAB的绘图函数;
2、掌握单位取样序列、单位阶跃序列、矩形序列和正余弦序列的产生方法;
3、掌握离散时间信号基本运算的MATLAB实现;
4、掌握离散时间信号线性卷积和运算的MATLAB实现。
二实验设备
1、计算机
2、MATLAB R2007a仿真软件
三实验原理
1)序列相加和相乘
设有序列和,它们相加和相乘如下:
注意,序列相加(相乘)是对应序列值之间的相加(相乘),因此参加运算的两个序列必须具有相同的长度,并且保证位置相对应。如果不相同,在运算前应采用zeros函数将序列左右补零使其长度相等并且位置相对应。在MATLAB中,设序列用x1和x2表示,序列相加的语句为:x=x1+x2;然而要注意,序列相乘不能直接用x=x1*x2,该式表示两个矩阵的相乘,而不是对应项的相乘。对应项之间相乘的实现形式是点乘“.*”,实现语句为:x=x1.*x2。
2)序列翻转
设有序列:,在翻转运算中,序列的每个值以n=0为中心进行翻转,需要注意的是翻转过程中序列的样值向量翻转的同时,位置向量翻转并取反。MATLAB中,翻转运算用fliplr函数实现。设序列用样值向量x和位置向量nx表述,翻转后的序列用样值向量y和位置向量ny描述。
3)序列的移位
移位序列的移位序列可表示为:,其中,时代表序列右移个单位;时代表序列左移个单位。在移位过程中,序列值未发生任何变化,只是位置向量的增减。MATLAB中没有固定函数实现移位运算。设序列
用样值向量x和位置向量nx描述移位后的序列用样值向量y和位置向量ny描述。
4)序列的线性卷积和
线性卷积和运算是离散时间信号的一种重要运算,两个有限长序列的线性卷积可以用conv函数实现。设x(n)和y(n)分别用样值向量x和y表示,线性卷积g(n)用样值向量g表示,则调用方式为,conv函数并未考虑到位置向量,默认所有的序列都从n=0开始。如果把位置向量考虑在内,则需要对位置向量作额外处理。设x(n)和y(n)的位置向量分别是nx:[ns1,nf1]和ny:[ns2,nf2]表示,线性卷积的位置向量用ng:[ns3,nf3]表示。
四实验内容
1、上机实验前,认真阅读实验原理,掌握离散时间信号表示和运算的方法;
2、掌握离散时间信号表示及运算的MATLAB实现。
实例1:产生单位采样序列
在MATLAB中,函数zeros(1,N)产生一个N个令的列向量,利用它可以实现在有限的区间上的单位采样序列。按照前面所述的方法,mand Window窗口中。
n=0:49; %定义横轴坐标
x=zeros(1,50); %matlab中数组下标从1开始
x(1)=1;
stem(n,x); %绘制离散序列数据
title('单位采用信号序列')
按回车键,将产生如下图所示的序列。
实例2:产生单位阶跃序列
在MATLAB中,函数ones(1,N)产生一个N个1的行向量,利用它可以实现在有限区间上的单位阶跃序列。按照前面所述方法,将下列指令编辑到“”文件中。
n=0:49; %定义横轴坐标
x=ones(1,50); %matlab中数组下标从1开始
x(1)=1;
ste
离散时间信号的表示与运算 来自淘豆网www.taodocs.com转载请标明出处.