实验1 离散时间信号的产生
1. 实验目的
数字信号处理系统中的信号都是以离散时间形态存在,所以对离散时间信号的研究是数字信号处理的基本所在。而要研究离散时间信号,首先需要产生出各种离散时间信号。MATLAB 是一套功能强大的工程计算及数据处理软件,广泛应用于工业,电子,医疗和建筑等众多领域。使用MATLAB软件可以很方便地产生各种常见的离散时间信号,而且它还具有强大的绘图功能,便于用户直观地输出处理结果。
通过本实验,学生将学习如何用MATLAB产生一些常见的离散时间信号,并通过MATLAB中的绘图工具对产生的信号进行观察,加深对常用离散信号的理解。
2. 实验要求
本实验要求学生运用MATLAB编程产生一些基本的离散时间信号,并通过MATLAB的几种绘图指令画出这些图形,以加深对相关教学内容的理解,同时也通过这些简单的函数练习了MATLAB的使用。
3. 实验原理
(1)常见的离散时间信号
1)单位抽样序列,或称为离散时间冲激,单位冲激:
?(n)??
?1?0n?0 n?0如果?(n)在时间轴上延迟了k个单位,得到?(n?k)即:
?1n?k ?(n?k)??
0n?0?
2)单位阶跃序列
n?0?1 u(n)?n?0?0在MATLAB中可以利用ones( )函数实现。
x?ones(1,N);
3)正弦序列
x(n)?Acos(?0n??)
这里,A,?0,和?都是实数,它们分别称为本正弦信号x(n)的振幅,角频率和初始相位。
f0??02?为频率。
x(n)?ej?n
4)复正弦序列
5)实指数序列
x(n)?A?n
(2)MATLAB编程介绍
MATLAB是一套功能强大,但使用方便的工程计算及数据处理软件。其编程风格很简洁,没有太多的语法限制,所以使用起来非常方便,尤其对初学者来说,可以避免去阅读大量的指令系统,以便很快上手编程。值得注意得就是,MATLAB中把所有参与处理的数据都视为矩阵,并且其函数众多,希望同学注意查看帮助,经过一段时间的训练就会慢慢熟练使用本软件了。关于更多的MATLAB介绍,请大家查阅MATLAB有关书籍及MATLAB软件中的帮助。
本实验中使用到一些MATLAB的基本函数,其中包括对矩阵操作的函数ones( )、pi、rand( )、randn( )、zeros( ),基本函数 cos( ), exp( ), imag( ), real( ),数据分析函数sum( ),二维图形处理函数axis、grid、legend、plot、stem、title、xlabel、ylabel及通用功能图形函数clf、subplot等。 1)单位采样
长度为N的单位采样序列u(n)可以通过下面的MATLAB命令获得:
u=[1 zeros(1,N?1)];
延迟M个采样点的长度为N的单位采样序列ud(n)(M d=[zeros(1,M) 1 zeros(1,N?M?1)]; 2)单位阶跃序列 长度为N的单位阶跃序列s(n)可以用下面的MATLAB命令获得: s?[ones(1,N)]; 延迟的单位阶跃序列可以使用类似于单位采样序列的方法获得。 3)正弦序列 长度为N的正弦序列在MATLAB中实现: n?0:N?1 x?A*cos(2*pi*f*n/Fs?phase)4)指数序列 长度为N的指数序列在MATLAB中实现: n?0:N?1x?exp(j*?*n) 5)实指数序列 长度为N的实指数序列在MATLAB中实现: n?0:N?1 x?a.^n6)随机序列 长度为N的随机序列在MATLAB中实现: x?rand(1,N); 4.实验内容 编制程序产生前5种信号(长度可输入确定),并利用MATLAB中的基本图形函数绘出其图形。 实验2 离散时间系统的差分方程、冲激响应 和卷积分析 1. 实验目的 线性时不变(LTI)离散时间系统在时域可以通过常系数线性差分方程来描述,而系统的冲激响应也从时域反应了一个LTI离散时间系统的特点。本实验通过使用MATLAB函数对一些简单的离散时间系统的时域特性进行仿真,以加深对离散时间系统的差分方程、冲激响应和卷积分析方法的理解。 2. 实验要求 编制程序求解以如下常系数线性差分方程形式给定的系统的单位冲激响应和阶跃响应,并绘出其图形;给出理论计算结果和程序计算结果并讨论。并基于前面计算出的冲击响应序列,计算当输入为x[n]?cos(0.2?n),0?n?39时,这两个系统的输出y[n]。 y[n]?0.75y[n?1]?0.125y[n?2]?x[n]?x[n?1]y[n]?0.25{x[n?1]?x[n?2]?x[n?3]?x[n?4]}3. 实验原理 (1)线性时不变离散时间系统基本知识: 线性时不变离散时间系统如图1所示,其中x[n]表示系统的输入,y[n]表示系统的输出。系统就是某种运算T[·],对输入的数字信号x[n]进行处理,得到要求的输出y[n],比如进行卷积,相关,滤波,调制解调等。 x(n) Discrete-Time System T[·] y(n) 图1 LTI离散时间系统输入输出关系图 其输入、输出关系可用以下常系数线性差分方程描述: NM?dky[n?k]??k?0k?0pkx[n?k] ?将输入信号分解为冲激信号的线性组合:x[n]??x[m]?[n?m]。记LTI m???离散时间系统单位冲激响应为h[n],则系统响应为如下的卷积计算式: y[n]?x[n]?h[n]?m????x[m]h[n?m] ?当dk?0,k?1,2,...,N时,h[n]是有限长度的(n:[0,M]),称系统为有限冲击响应(FIR)系统;反之,则称系统为无限冲击响应(IIR)系统。 (2)MATLAB编程介绍 在MATLAB中,可以用函数y=filter(p,d,x) 求解差分方程,可以用函数 y=conv(x,h)计算卷积,还可以用函数impz(p,d,N)计算冲击响应。 1)函数filter:可以用来仿真由常系数线性差分方程给出的LTI离散时间系统。本函数有多种使用形式。若我们定义 p=[p1 p2 … pM], d=[d1 d2 … dN], 则y=filter(p,d,x)的结果就为当输入矢量x作用在本LTI离散时间系统上的零初始状态输出矢量,其长度与x的长度相同。 2)函数conv:可以用来计算两个序列的线性卷积结果,参与卷积的两序列均以矢量形式给出。 3)函数impz:可以用来计算由常系数线性差分方程给出的LTI离散时间系统的冲击响应序列的采样点。y=impz(p,d,N)可计算冲击响应序列的前N个采样点。 4.实验内容 编制程序计算实验要求中给出的LTI离散时间系统的冲击响应序列,阶跃响应及给定输入的响应。 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库《数字信号处理》上机实验指导书在线全文阅读。
相关推荐: