1、 课程名称课程名称: 数字信号处理 系 别:信息工程系 专业班级:通信工程专业 课程设计题目:基于 MATLAB 的离散系统的时域分析及实现 一.引言 MATLAB 是由美国 mathworks 公司发布的主要面对科学计算、可视化以及交互式程序 设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的 建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及 必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了 传统非交互式程序设计语言(如 C、Fortran)的编辑模式,代表了当今国际科学计算软件的 先进水平。 二.
2、设计目的 1 掌握离散时间序列卷积和 MA TLAB实现的方法。 2 掌握离散系统的单位响应及其 MA TLAB的实现方法。 3 掌握用 MA TLAB表示离散系统的时域响应。 二.设计题目及要求 题目:利用 MATLAB 实现对离散系统时域的分析 要求: 1.熟悉离散时间序列的卷积和原理 2.熟悉编程实现离散时间序列的卷积和 3.熟悉离散系统的单位响应及其常用函数的调用格式 三.设计原理 1. (1)单位序列(单位脉冲序列)MA TLAB描述。 MA TLAB函数可写为 k=k1:k2; %k1,k2 为时间序列的起始及终止时间序号 fk=(k-k0)=0; %k0 为(k)在时间轴上的位移
3、量 stem(k,fk) (2)单位阶跃序列 MA TLAB描述。 MARLAB 函数可写为 k=k1:k2 %k1,k2 为时间序列的起始及终止时间序号 fk=(k-k0)=0 %k0 为(k)在时间轴上的位移量 stem(k,fk) 2. 离散系统的时域响应 MATLAB 提供了求离散系统响应的专用函数 filter() filter 函数能求出差分方程描述的离散系统在指定时间范围内的输入序列所产生的响应 序列的数值解。其调用格式如下: filter(b,a,x) 其中,b 和 a 是由描述系统的差分方程的系数决定的、表示离散系统的两个行向量;x 是包含 输入序列非零样点的行向量。上述命令
4、将求出系统在与 x 的取样时间点相同的输出序列样值。 3.离散时间序列的卷积 设序列 f1(k)在 1 n 2 n范围内非零,f2(k)在 1 m 2 m范围内非零,则 f1(k)时域宽度为 L1= 2 n- 1 n+1,f2(k)的时域宽度为 L2= 2 m- 1 m+1。由卷积和的定义可得,序列 y(k)=f1(k)*f2(k)的 时域宽度为 L=L1+L2-1, 且只在( 1 n+ 1 m)( 1 n+ 1 m+L1+L2-2)范围内非零。 因此, 对于 f1(k)和 f2(k) 均为有限期间非零的情况,只要计算序列 y(k)在 ( 1 n+ 1 m)( 1 n+ 1 m+L1+L2-2)范围内的序列值, 便可以表征序列 y(k)。 MA TLAB的 conv()函数可以用来快速求出两个离散序列的卷积和。conv()函数的调用格式为 y=conv(f1,f2) 式中 f1 和 f2 为待卷积两序列的向量表示;y 为卷积结果。 四.程序实现 1.画出单位序列(k)在-3k3 区间的波形。 程序:程序: