基于MATLAB的离散信号与系统分析毕业论文.doc_第1页
基于MATLAB的离散信号与系统分析毕业论文.doc_第2页
基于MATLAB的离散信号与系统分析毕业论文.doc_第3页
基于MATLAB的离散信号与系统分析毕业论文.doc_第4页
基于MATLAB的离散信号与系统分析毕业论文.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖北工业大学商贸学院毕业设计 I 摘 要 数字信号处理主要包括离散信号与系统分析的基本理论 离散傅里叶变换 离散快 速傅里叶变换和数字信号处理的实现 本文主要设计的是离散信号与系统分析及 MATLAB的实现 为此我设计了基于MATLAB软件平台的实验系统 突出数字信号处理 理论的技术应用 如在信号谱分析 信号的时频分析及应用等内容中 都利用MATLAB 实现其工程应用 基于MATLAB软件集数值分析 矩阵运算 信号处理和图形显示于一 体 构成了一个方便的 界面友好的用户环境 而且还具有可扩展性特征 同时随着微 电子技术和数字信号处理技术的发展 最成功的DSP芯片当数美国德州仪器公司 Texas Instruments 简称TI 的一系列产品 其DSP市场份额占全世界份额近的50 目前DSP芯 片的价格越来越低 性能价格比同益提高 具有巨大的应用潜力 经过十几年的发展 DSP器件在高速度 可编程 小型化 低功耗等方面都有了长足的发展 单片DSP芯片最 快每秒可完成16亿次 1600MIPS 的运算 生产DSP器件的公司也不断壮大 DSP芯片的 硬件实现 软硬件的同时实施 若再结合相应的数字信号处理方面的书籍 初学者便能 在较短的时间内系统的 感性的理解和学习数字信号处理的相关知识 关键词 关键词 MATIAB 数字信号处理 DSP 离散 信号与系统 用户环境 湖北工业大学商贸学院毕业设计 II Abstract Include digital signal processing discrete signals and systems analysis of the basic theory discrete Fourier transform discrete fast Fourier transform and digital signal processing implementation In this paper the design is a discrete signal and system analysis and MATLAB implementation and I designed a software platform based on MATLAB experimental system highlighting the technical theory of digital signal processing applications such as in signal analysis signal analysis and application of time frequency and other contents are using MATLAB to achieve their project application Set based on MATLAB software numerical analysis matrix computation signal processing and graphical display on the whole constitute a convenient user friendly user environment but also has scalability characteristics At the same time as the microelectronics and digital signal processing technology the most successful DSP chip when the number of Texas Instruments Texas Instruments referred to as TI in the range of products the DSP market share of nearly 50 of worldwide share Current DSP chip prices lower and lower cost performance increase with the benefits with great potential After ten years of development DSP devices in high speed programmable small size low power consumption and so have seen significant development the fastest single DSP chip 1 6 billion times per second 1600MIPS computing DSP devices production companies continue to grow DSP chip hardware software and hardware of parallel if more appropriate combination of digital signal processing books beginners can the system in a short period of time and emotional understanding and learning digital signal processing knowledge Keyword MATIAB digital signal processing DSP discrete signals and systems user environment 湖北工业大学商贸学院毕业设计 III 目 录 摘摘 要要 I ABSTRACT II 目目 录录 III 引引 言言 1 1 数字信号处理及数字信号处理及 MATLAB 软件软件 2 1 1 数字信号处理 2 1 2 MATLAB 软件的发展和主要功能 3 2 离散信号与系统及离散信号与系统及 MATLAB 实现实现 5 2 1 离散时间信号及 MATLAB 的实现 5 2 2 离散序列的时域运算和变换及 MATLAB 的实现 5 2 3 离散时间序列及 MATLAB 的实现 6 2 3 1 正弦序列 6 2 3 2 离散时间实指数序列 8 2 3 3 离散时间虚指数序列 9 2 3 4 复指数序列 11 2 4 离散时间序列卷积和及 MATLAB 实现 11 2 5 离散系统的单位响应及 MATLAB 实现 13 2 6 利用 MATLAB 求 LTI 离散系统的响应 15 3 离散系统的离散系统的 Z 域分析及域分析及 MATLAB 实现实现 16 3 1 利用 MATLAB 绘制离散系统零极点图 16 3 2 用 MATLAB 实现离散系统的频率特性分析 18 3 3 逆 Z 变换及 MATLAB 实现 21 结结 束束 语语 24 参参 考考 文文 献献 25 致致 谢谢 26 湖北工业大学商贸学院毕业设计 1 引 言 随着计算机和信息技术的飞跃式发展 数字信号处理技术日益成为一门成熟的学科 并在各种工程技术领域 特别是新兴高技术产业内获得了越来越广泛的应用 高等教育 的目标之一是培养实用型的现代新技术高素质人才 因此近年来国内越来越多的工科院 校的数学系成立了信息与计算科学专业并开设了作为重要的专业基础课的 数字信号处 理 课程 在近代科学研究 军事技术 工农业生产 医学 气象及天文学等领域中 人们越 来越多地利用数字信号来认识和判断事物 解决实际问题 获得数字信号非常重要 但 目的不仅仅是为了获得数字信号 而更重要的是将数字信号进行处理 在大量复杂的数 字信号中找出我们所需要的信息 因此数字信号处理在某种意义上讲 比获得数字信号 更为重要 尤其是在当今科学技术迅速发展的时代 对数字信号处理提出了更高的要求 以便更加快速 准确 可靠地获得有用信息 MATLAB是Math works公司于推出的一套高性能的数值计算和可视化软件 其全称 是Matrix Laboratory 亦即矩阵实验室 经过多年的逐步发展与不断完善 现已成为国际 公认的最优秀的科学计算与数学应用软件之一 是近几年来在国内外广泛流行的一种可 视化科学计算软件 它集数值分析 矩阵运算 信号处理和图形显示于一体 构成了一 个方便的 界面友好的用户环境 而且还具有可扩展性特征 Math Works公司针对不同 领域的应用 推出了信号处理 控制系统 神经网络 图像处理 小波分析 鲁棒控制 非线性系统控制设计 系统辨识 优化设计 统计分析 财政金融 样条 通信等30多 个具有专门功能的工具箱 这些工具箱是由该领域内的学术水平较高的专家编写的 无 需用户自己编写所用的专业基础程序 可直接对工具箱进行运用 总之 本文的设计对于大家更好的了解和学习数字信号处理中离散信号与系统的相 关知识会有很大的帮助 湖北工业大学商贸学院毕业设计 2 1 数字信号处理及 MATLAB 软件 1 1 数字信号处理 数字信号处理 DSP 涉及信号的数字表示和数字硬件在分析 变更和从这些信号中 提取信息等方面的应用3C Communication computer consumer 通信 计算机 消费 类 技术和internet的发展 要求处理器的速度越来越高 体积越来越小 DSP的发展正好 能满足这一发展的要求 因为 传统的其它处理器都有不同的缺陷MCU的速度较慢 CPU 体积较大 功耗较高 嵌入CPU 的成本较高 DSP的发展 使得在许多速度要求较高 算 法较复杂的场合 取代MCU或其它处理器而成本有可能更低 DPS应用广泛 主要应用 市场为3C领域 占去了整个市场需求的90 DSP发展历程大致分为三个阶段 70年代理论先行 80年代产品普及 90年代突飞猛 进 在DSP出现之前数字信号处理只能依靠MPU来完成 因此 直到70年代 才有人提出 了DSP的理论和算法基础 随着大规模集成电路技术的发展 1982年世界上诞生了首枚 DSP芯片 这种DSP器件采用微米工艺NMOS技术制作 虽功耗和尺寸稍大 但运算速度 却比MPU快了几十倍 尤其在语音合成和编码解码器中得到了广泛应用 至80年代中期 随着CMOS技术的进步与发展 第二代基于CMOS工艺的DSP芯片应运而生 其存储容量 和运算速度都得到成倍提高 成为语音处理 图象硬件处理技术的基础 80年代后期 第三代DSP芯片问世 运算速度进一步提高 其应用范围逐步扩大到通信 计算机领域 90年代DSP发展最快 相继出现了第四代和第五代DSP器件 现在的DSP属于第五代产品 它与第四代产品相比 系统集成度更高 将DSP芯核以及外围元件集成在单一芯片上 这 种集成度极高的DSP芯片不仅在通信 计算机领域大显身手 而且逐渐渗透到人们同常消 费领域 DSP 市场正处于高速成长的阶段 在数字化 个人化和网络化的推动下 1997 年世 界 DSP 市场营销额超过 32 亿美元 至 2007 年 世界 DSP 市场营销额已经突破 50 亿美 元 如此高速增长 将吸引着越来越多的半导体厂商争相竞放 但目前只有几家厂商企 业占据了绝大部分的市场份额 其中 TI 公司独占鳌头 TI Texas Instruments 公司是 DSP 产品遍及全球 每 2 个数字蜂窝电话中就有 1 个采用 TI 产品 全世界 90 的硬盘和 3 的 Modem 均采用 TI 的 DSP 技术 1997 年 TI 公司的两项重大投资项目夯实了其地 位不可动摇 一是设立 1 亿美元的风险基金 支持那些需要启动资金的 DSP 应用企业 湖北工业大学商贸学院毕业设计 3 为掀起 DSP 的应用高潮打下坚实的基础 二是启动 50 万美元的全球大学科研基金 用 于支持各高校的 DSP 教育 TI 己在国内十余所大学建立了 DSP 实验室和技术中心 1 2 MATLAB 软件的发展和主要功能 在科学技术飞速发展的今天 计算机正扮演着愈来愈重要的角色 在进行科学研究 与工程应用的过程中 科技人员往往会遇到大量繁重的数学运算和数值分析 传统的高 级语言Basic Fortran 及C语言等虽然能在一定程度上减轻计算量 但它们均要求应用人 员具有较强的编程能力和对算法有深入的研究 另外 在运用这些高级语言进行计算结 果的可视化分析及图形处理方面 对非计算机专业的普通用户来说 仍存在着一定的难 度 MATLAB正是在这一应用要求背景下产生的数学类科技应用软件 它具有的顶尖的 数值计算功能 强大的图形可视化功能及简洁易学的 科学便笺式 工作环境和编程语 言 从根本上满足了科技人员对工程数学计算的要求 并将科技人员从繁重的数学运算 中解放出来 因面越来越受到广大科技工作者的普遍欢迎 MATLAB是matrix 和laboratory 前三个字母的缩写 意思是 矩阵实验室 是 Math Works公司推出的数学类科技应用软件 其Dos 版本 MATLAB 1 0 发行于1984 年 现已推出了Windows 版本 MATLAB 5 3 经过十多年的不断发展与完善 MATLAB已发展成为由MATLAB语言 MATLAB工作环境 MATLAB图形处理系统 MATLAB数学函数库和MATLAB应用程序接口五大部分组成的集数值计算 图形处理 程序开发为一体的功能强大的系统 MATLAB 由 主包 和三十多个扩展功能和应用学 科性的工具箱 Toolboxes 组成 MATLAB具有以下基本功能 1 数值计算功能 2 符号计算功能 3 图形 处理及可视化功能 3 可视化建模及动态仿真功能 MATLAB语言是以矩阵计算为基础的程序设计语言 语法规则简单易学 用户不用 花太多时间即可掌握其编程技巧 其指令格式与教科书中的数学表达式很相近 用 MATLAB编写程序尤如在便笺上列写公式和求解 因而被称为 便笺式 的编程语言 另外 MATLAB 还具有功能丰富和完备的数学函数库及工具箱 大量繁杂的数学运算和 分析可通过调用MATLAB 函数直接求解 大大提高了编程效率 其程序编译和执行速度 远远超过了传统的C 和Fortran语言 因而用MATLAB编写程序 往往可以达到事半功倍 的效果 在图形处理方面 MATLAB可以给数据以二维 三维乃至四维的直观表现 并 湖北工业大学商贸学院毕业设计 4 在图形色彩 视角 品性等方面具有较强的渲染和控制能力 使科技人员对大量原始数 据的分析变得轻松和得心应手 正是由于MATLAB在数值计算及符号计算等方面的强大功能 使MATLAB一路领先 成为数学类科技应用软件中的佼佼者 目前 MATLAB已成为国际上公认的最优秀的科 技应用软件 MATLAB的上述特点 使它深受工程技术人员及科技专家的欢迎 并很快 成为应用学科计算机辅助分析 设计 仿真 教学等领域不可缺少的基础软件 目前 在国外高等院校 MATLAB已成为本科生 研究生必须掌握的基础软件 国内一些理工 院校也已经或正把MATLAB作为学生必须掌握的一种软件 教育部全国计算机专业课 程指导委员会 已将MATLAB语言列为推荐课程 湖北工业大学商贸学院毕业设计 5 2 离散信号与系统及 MATLAB 实现 2 1 离散时间信号及 MATLAB 的实现 一般说来 离散时间信号用表示 其中变量为整数 代表离散的采样时间点 f k k 可表示为 2 1 ff k f 2 f 1 f 0 f 1 f 2 k 0 在MATLAB中 用一个向量即可表示一个有限长度的序列 但是 这样的向量并f 没有包含其对应的时间序号信息 所以要完整地表示离散信号需要用两个向量 在用MATLAB表示离散序列并将其可视化时 我们要注意以下几点 第一 与连续 时间信号不同 离散时间信号无法用符号运算来表示 第二 由于在MATLAB中 矩阵 的元素个数是有限的 因此 MATLAB无法表示无限序列 第三 在绘制离散信号波形 时 要使用专门绘制离散数据的stem命令 而不是plot命令 如对于上面定义的二向量 和 可用如下stem命令绘图 fk 2 2 stem k f filledaxis4 4 1 5 4 5 下面通过一些常用离散信号来说明如何用MATLAB来实现离散序列的表示和可视化 1 单位序列 单位序列的定义为 2 3 1 0 00 k k k 由单位序列的定义知 只有在k为0时 的值为1 而当不为0时的值为零 因此 k k k 用MATLAB来表示单位序列及绘制其波形非常简单 2 单位阶跃序列 u k 单位阶跃序列的定义为 2 4 1 0 00 k u k k 2 2 离散序列的时域运算和变换及 MATLAB 的实现 对于离散序列来说 序列相加 相乘是将两序列对应时间序号的值逐项相加或相乘 平移 反折 及倒相变换与连续信号的定义完全相同 这里就不再累述 但需要注意 湖北工业大学商贸学院毕业设计 6 与连续信号不同的是 在MATLAB中 离散序列的时域运算和变换不能用符号运算来实 现 而必须用向量表示的方法 即在MATLAB中离散序列的相加 相乘需表示成两个向 量的相加 相乘 因而参加运算的两序列向量必须具有相同的维数 下面是实现离散序列相加 相乘的实用子程序及实例 实现离散序列相加及其结果 可视化的子函数如下 在该函数中 将要进行相加运算的二序列向量f1 f2通过补零的 方式成为同维数的二序列向量s1 s2 因而在调用该函数时 要进行相加运算的二序列 向量维数可以不同 实现 function f klsxj f1 f2 k1 k2 f kf1 kf2 kf1 f2 k1 k2 是参加运算的二离散序列及其 对应的时间序列向量 f和k为 返回的和序列及其对应的时间 序列向量 构造和序列的长度 kmin min k1 min k2 max max k1 max k2 初始化新向量 s1zeros 1 length k s2s1 将f1中在和序列范围内但又无 s1 findkmin k1 定义的点赋值为零 将f2中在和序列范围内但又无 s2 findkmin k2 定义的点赋值为零 两长度相等序列求和fs1 s2 stem k f filled axis min min k1 min k2 1 max max k1 max k21 坐标轴显示范围 min f0 5 max f0 5 2 3 离散时间序列及 MATLAB 的实现 2 3 1 正弦序列 离散时间正弦序列的表达式为 式中为无量纲的整数 和 cos f kAkw kw 以弧度为单位 称为离散正弦序列的数字角频率 为初相位 jwj 需要注意的是 并非所有的离散时间正弦序列都是周期的 这是因为离散时间信号 的自变量和周期序列的周期都必须是整数 在正弦序列中并非对任意都能找到正整数w 湖北工业大学商贸学院毕业设计 7 的周期 现在我们就来讨论正弦序列为周期序列的条件 N 设 是周期序列 且周期为 则有 jwkk f kr e N 2 5 coscoscos wkw kNwkwN 要使上式对所有的都成立 则 必须为的整数倍 即 ww2 22 NwmwNmm 或 为整数 可见只有当为一有理数时 才具有周期性 且周期为 2 w title cos 2 k 2 mw 下面我们通过一个实例来说明上述理论结果 试用 MATLAB画出正弦序列的时域波形 观察它 1 cos 8 f kk 2 cos 2 fkk 们的周期性 并验证是否与理论分析结果相符 解 对序列 其角频率 故该序列是周期序列 且周期为16 1 f k 2 16 8 w w 对序列 其角频率故该序列是非周期序列 2 fk 2 2 w w 无理数 下面我们用 MATLAB 将上述序列的时域波形绘制出来 对应的MATLAB命令如下 k0 40 subplot 2 1 1 stem k cos k pi 8 filled title cos k pi 8 subplot 2 1 2 stem k cos 2 k filled title cos 2 k 绘制的序列波形如图2 1所示 湖北工业大学商贸学院毕业设计 8 010203040 1 0 1 cos k pi 8 010203040 1 0 1 cos 2 k 图2 1不同频率的正弦序列 由绘制的序列波形图 我们可以明显看出 序列为周期序列 而为非周期 1 f k 2 fk 序列 2 3 2 离散时间实指数序列 离散时间实指数序列的一般形式为 其中 和为实常数 我们可以用 k f kca ca MATLAB编写绘制离散时间实指数序列波形的函数如下 c 指数序列的幅度 function dszsu c a k1 k2 a 指数序列的底数 k1 绘制序列的起始序号 k2 绘制序列的终止序号 kk1 k2 k xca stem k x filled hold on 2 w hold off 下面我们通过一个实例来说明上述理论结果 用MATLAB画出序列 的时域波形 观察两序列的 1 5 4 k f kk 2 3 4 k fkk 时域特性 解 我们可调用前述的 函数来解决此问题 对应的MATLAB 命令为 disso dszsu 1 5 4 0 40 xlabel k 湖北工业大学商贸学院毕业设计 9 title f1 k dszsu 1 3 4 0 40 xlabel k title f2 k 绘制的离散实指数序列波形如图2 2所示 图2 2不同底数的实指数序列 由程序绘制的序列波形图我们可以看出 对离散时间实指数序列当a的绝对 k f kca 值大于1 时 序列为随时间发散的序列 当a 的绝对值小于1 时 序列为随时间收敛的 序列 2 3 3 离散时间虚指数序列 离散时间虚指数序列的一般形式为 其中为角频率 根据欧拉公式有 j f ke wk w 2 6 j f ke wkcoswkjsinwk 可见 离散虚指数序列的实部和虚部均是等幅的正弦序列 通过前面的分析可得 虚指数序列的实部和虚部也只有在满足一定的条件时才具有周期性 即当为有理数2 w 时离散虚指数序列才具有周期性 周期是最简分数 2 Nmw N m 绘制虚指数序列时域波形的MATLAB函数如下 n1 绘制波形的虚指数序列的起始时间序号 function dxzsu n1 n2 w n2 绘制波形的虚指数序列的终止时间序号 w 虚指数序列的角频率 kn1 n2 fexp i w k 湖北工业大学商贸学院毕业设计 10 Xrreal f Xiimag f Xaabs f Xnangle f subplot 2 2 1 stem k Xr filled title 实部 subplot 2 2 3 stem k Xi filled title 虚部 subplot 2 2 2 stem k Xa filled title 模 subplot 2 2 4 stem k Xn filled title 相角 下面我们通过一个实例来说明上述理论结果 用MATLAB画出的时域波形 并分析实部 虚部 相角的周 2 4 12 k j j k f kefke 期性与角频率的关系 解 实现上述过程的MATLAB 的命令如下 dxzsu 0 20 pi 4 dxzsu 0 20 2 上述命令绘制的虚指数序列波形分别如图2 3和2 4所示 图2 3周期虚指数序列波形 湖北工业大学商贸学院毕业设计 11 图2 4非周期虚指数序列波形 由下面两图可见 只有当虚指数序列的角频率满足 为有理数时 信号的实部2 w 和虚部和相角皆为周期序列 否则为非周期序列 2 3 4 复指数序列 复指数序列的一般形式为 2 7 jwkk f kr e 由欧拉公式得 cos wk j sin w k jwkkk f kerr 式中 为的实部Re f k cos wk k r f k jwk e 为的虚部Im f k sin wk k r f k 可见 复指数序列的实部和虚部分别为幅度按指数规律变化的正弦序列 当 f k 时 的实部和虚部分别为指数增长的正弦序列 当时 的实部和r 1 f k01r f k 虚部分别为指数衰减的正弦序列 当时 的实部和虚部分别为等幅正弦序列 1r f k 绘制复指数序列时域波形的MATLAB函数如下 n1 绘制波形的虚指数序列的起始时间序号 function dfzsu n1 n2 r w n2 绘制波形的虚指数序列的终止时间序号 w 虚指数序列的角频率 r 指数序列的底数 kn1 n2 k fr exp i w Xrreal f Xiimag f 湖北工业大学商贸学院毕业设计 12 Xaabs f Xnangle f subplot 2 2 1 stem k Xr filled title 实部 subplot 2 2 3 stem k Xi filled title 虚部 subplot 2 2 2 stem k Xa filled title 模 subplot 2 2 4 stem k Xn filled title 相角 2 4 离散时间序列卷积和及 MATLAB 实现 离散时间序列 和的卷积和定义为 1 f k 2 fk 2 8 1212 f kf kfkf kfki iR 在离散信号与系统的分析过程中 我们有两个与卷积和相关的重要结论 这就是 1 2 9 f kf ikif kk iR 即离散序列可分解为一系列幅度由决定的单位序列及其平移序列之和 f k k 2 对线性时不变系统 设其输入序列为f k 单位响应为 其零状态响应为 h k 则有 y k y kf ih kif kh k iR 2 10 可见 离散序列卷积和的计算对进行离散信号与系统的分析具有非常重要的意义 MATLAB的函数可以帮助我们快速求出两个离散序列的卷积和 函数的conv conv 调用格式为 f conv f1 f2 其中为包含序列的非零样值点的行向量 为包含序列的非零样值点的行f1 1 f kf2 2 fk 向量 向量 则返回序列的所有非零样值点行向量 f set gca position h 下面是利用MATLAB计算两离散序列卷积和的实用函数 12 f kf kfk dconv 该程序在计算出卷积和的同时 还绘出序列 和的时域波形图 并 f k 1 f k 2 fk f k 返回的非零样值点的对应向量 f k function f kdconv f1 f2 k1 k2 The function of compute ff1 f2 f 卷积和序列f k 对应的非零样值向量 k 序列f k 的对应序号向量 f1 序列f1 k 非零样值向量 f2 序列f2 k 的非零样值向量 k1 序列f1 k 的对应序号向量 湖北工业大学商贸学院毕业设计 13 k2 序列f2 k 的对应序号向量 计算序列f1与f2的卷积和f fconv f1 f2 计算序列f非零样值的起点位置 k0k1 1k2 1 计算卷积和f的非零样值的宽度 k3length f1length f22 确定卷积和f非零样值的序号向量kk0 k0k3 stem k1 f1 在子图1绘序列f1 k 时域波形图 stem k1 f1 title f1 k xlabel k ylabel f1 k subplot 2 2 2 在图2绘序列f2 k 时波形图 stem k2 f2 title f1 k xlabel k ylabel f2 k subplot 2 2 3 在子图3绘序列f k 的波形图 stem k f title f k f1 kf2 kf k 与的卷积和 xlabel k ylabel f k hget gca position h 32 5 h 3 将第三个子图的横坐标范围扩为原来的2 5倍 set gca position h 2 5 离散系统的单位响应及 MATLAB 实现 LTI离散系统当输入为单位序列时产生的零状态响应称为系统的单位响应 用 k 表示 系统输入为单位阶跃序列时产生的零状态响应称为系统的单位阶跃响应 h k e k 记为 对LTI离散系统 设其输入序列为 单位响应为 零状态响应为 g k f k h k 则有 即包含了离散系统的固有特性 与输入序列 y k 00 NN ij ij a y kib f kj h k 无关 我们只要知道了离散系统的单位响应 即可求得系统在不同输入时产生的输出 因此 求解离散系统的单位响应对我们进行离散系统的分析也同样具有非常重 h k 湖北工业大学商贸学院毕业设计 14 要的意义 MATLAB为用户提供了专门用于求离散系统单位响应并绘制其时域波形的函 impz 在调用函数时 与连续系统一样 我们也需要用向量来对离散系统进行表示 设impz 描述离散系统的差分方程为 2 11 0 ij a y kib f kjijN 则我们可以用向量和表示该系统 即ab 011 NN aa aa a 011 MM bb bb b 注意 在用向量来表示差分方程描述的离散系统时 缺项要用0来补齐 函数能绘出向量和定义的离散系统在指定时间范围内单位响应的时域波 impz ab 形 并能求出系统单位响应在指定时间范围内的数值解 函数有如下几种调用格式 Impz 1 impz b a 该调用格式以默认方式绘出向量和定义的离散系统的单位响应的离散时间波形 a f k 例如 若描述某离散系统的差分方程为 2 12 1 0 9 2 y ky ky kf k 运行如下MATLAB命令 a1 1 0 9 b1 则绘出该离散系统的单位响应的时域波形 impz b a 2 impz b a n 该调用格式将绘出由向量和定义的离散系统在 必须为整数 离散时间范ab0 nn 围内单位响应的时域波形 对上例 若运行如下命令 则绘出系统在 impz b a 60 取样点范围内单位响应的离散时间波形 0 60 3 impz b a n1 n2 该调用格式将绘出由向量和定义的离散系统在 必须为整数 且abn1 n2n1n2 离散时间范围内单位响应的时域波形 n1n2 4 yimpz b a n1 n2 若运行命令 湖北工业大学商贸学院毕业设计 15 1 1 0 9 a b1 yimpz b a 5 10 运行结果为 y 0 0 0 0 0 1 0000 1 0000 0 1000 0 8000 0 8900 0 1700 0 6310 0 7840 0 2161 0 4895 0 6840 结果分析 该调用格式并不绘出系统单位响应的时域波形 而是求出向量和定义ab 的离散系统在离散时间范围内的系统单位响应的数值解 n1 n2 2 6 利用 MATLAB 求 LTI 离散系统的响应 MATLAB为用户提供了求LTI离散系统响应的专用函数 该函数能求出由差分filter 方程描述的离散系统在指定时间范围内的输入序列时所产生的响应序列的数值解 函数的调用格式如下 其中和是由描述系统的差分方程的系数决filter filter b a xba 定的表示离散系统的两个行向量 是包含输入序列非零样值点的行向量 则上述命令将x 求出系统在与的取样时间点相同的输出序列样值 即输出向量包含了与输入向量所xyx 湖北工业大学商贸学院毕业设计 16 在样本同一区间上的样本 需要注意的是 函数将向量x以外的输入序列样值均视为零 这样若输入序列filter 为时间无限长序列 则用函数计算系统响应时 在输出向量y的边界样点上 将会filter 产生一定的偏差 利用函数 我们还可以方便地求出由差分方程描述的离散系统的阶跃响应 此filter 时 只需将输入信号定义为单位阶跃序列即可 e k 湖北工业大学商贸学院毕业设计 17 3 离散系统的 Z 域分析及 MATLAB 实现 3 1 利用 MATLAB 绘制离散系统零极点图 线性时不变离散系统可以用如下所示的线性常系数差分方程来描述 3 1 0 ij a y kib f kjiN 0jM 其中为系统输出序列 为输入系列 y k Hw freqz B A N 系统函数的零 极点的分布完全决定了系统的特性 即若某离散系统的零 极 h k 点已知 则系统函数便可确定下来 因此 系统函数的零极点分布对我们进行离散系统 特性的分析具有非常重要的意义 通过对系统函数零极点的分析 我们可以分析离散系 统以下几个方面的特性 1 系统单位响应的时域特性 h k 2 离散系统的稳定性 3 离散系统的频率特性 幅频响应和相频响应 要通过系统函数零极点来分析系统特性 首先就要求出系统函数的零极点 然后绘 制零 极点图 MATLAB为我们快速 高效地分析离散系统特性提供了强有力的工具 下面就介绍如何利用 MATLAB实现这一过程 设离散系统的系统函数为 H z B z A z 则系统函数的零点和极点可以用MATLAB的多项式求根函数来实现 调用函数roots 的命令格式为 其中A为待求根的多项式的系数构成的行向量 返roots proots A 回向量p则是包含该多项式所有根位置的列向量 例如多项式为 2 31 48 B zzz 则求该多项式根的MATLAB命令应为 A1 3 4 1 8 proots A 运行结果为 p 0 5000 0 2500 湖北工业大学商贸学院毕业设计 18 需要注意的是 在求系统函数零极点时 离散系统的系统函数可能有两种形式 一 种是分子和分母多项式均按Z的降幂次序排列 另一种是的分子多项式和分母多项式均按 Z 1 的升幂次序排列 上述两种方式在构造多项式系数向量时稍有不同 若 H Z 是以Z的降幂形式排列 则系数向量一定要由多项式的最高幂次开始 一直 到常数项 缺项要用0补齐 若 H Z 是以Z 1的升幂形式排列 则分子和分母多项式系数向量的维数一定要相同 不足的要用0补齐 否则Z 0的零点或极点就可能被漏掉 用函数求得H Z 的零极点roots 后 就可以用plot命令绘制出系统函数的零极点图 下面是求系统函数零极点 并绘制其 零极点图的MATLAB实用函数 该函数在绘出系统零极点图的同时 还绘出了Z平ljdt 面的单位圆 The function to draw the pole zero diagram for discrete system function ljdt A B 求系统极点 proots A 求系统零点 qroots B 将极点列向量转置为行向量pp 将零点列向量转置为行向量qq 确定纵坐标范围 xmax absp q 1 xx0 1 确定横坐标范围yx clf hold on 确定坐标轴显示范围 axisx x y y w0 pi 300 2 pi texp i w 画单位圆 plot t axis square 画横坐标轴 plotx x 0 0 画纵坐标轴 plot0 0 y y text 0 1 x jIm z text y 1 10 Re z 湖北工业大学商贸学院毕业设计 19 画极点 plot real p imag p x 画零点 plot real q imag q o title polezero diagram for discrete system hold off 上述程序中 传入参量A和B分别是要绘制零极点图的系统函数的分母和分子多项式 的系数向量 3 2 用用 MATLAB 实现离散系统的频率特性分析实现离散系统的频率特性分析 离散系统的幅频特性曲线和相频特性曲线直观地反映了系统对不同频率的输入序列 的处理情况 因此 我们只要知道离散系统的频率响应 就可分析离散系统的整 jw H e 个频率特性 那么 如何求得离散系统的频率响应呢 最简便的方法就是通过系 jw H e 统函数的分析而得到系统的频率响应 通常采用如下分析方法即直接法 H z jw H e 设某离散系统的系统函数为 则该系统的频率响应为 H z 3 2 jw jwjwjw z e H eH eeH z MATLAB为用户提供了专门用于求离散系统频率响应的函数 调用此函数有如下freqz 两种格式 1 Hw freqz B A N 在上述调用中 B和A分别是待分析的离散系统的系统函数分子 分母多项式的系数 向量 N为正整数 返回向量H则包含了离散系统频率响应在范围内N个频率 jw H e0 等分点的值 向量则包含范围内的N 个频率等分点 调用中若N缺省 则系统默w0 认N 512 例如 对如下离散系统 3 3 0 5 H z z z 则计算其 频率范围内10个频率等分点的频率响应的样值的MATLAB命令为 0 jw H e A 1 0 B 1 0 5 H wfreqz B A 10 运行结果为 H 湖北工业大学商贸学院毕业设计 20 0 5000 0 5245 0 1545i 0 5955 0 2939i 0 7061 0 4045i 0 8455 0 4755i 1 0000 0 5000i 1 1545 0 4755i 1 2939 0 4045i 1 4045 0 2939i 1 4755 0 1545i w 0 0 3142 0 6283 0 9425 1 2566 1 5708 1 8850 2 1991 2 5133 2 8274 2 Hw freqz B A N whole 该调用格式将计算离散系统在范围内N个频率等分点的频率响应的值 e k k a jw H e 因此 我们可以先调用函数计算出离散系统频率响应的值 然后再利用MATLABfreqz 的和函数及命令 即可绘制出系统在或范围内的幅频特性和abs angle plot0 0 2 相频特性曲线 例如 对于式 3 3 所示系统 绘制系统幅频特性和相频特性曲线的 MATLAB 命令如下 B1 0 5 A 1 0 湖北工业大学商贸学院毕业设计 21 H wfreqz B A 400 whole Hfabs H Hxangle H Clf figure 1 plot w Hf title 离散系统幅频特性曲线 figure 2 plot w Hx title 离散系统相频特性曲线 该程序绘制的系统频率特性曲线如图 3 1 和 3 2 所示 02468 0 5 1 1 5 幅 幅 幅 幅 幅 幅 幅 幅 幅 幅 图 3 1 离散系统幅频特性曲线 02468 1 0 5 0 0 5 1 幅 幅 幅 幅 幅 幅 幅 幅 幅 幅 图3 2离散系统相频特性曲线 湖北工业大学商贸学院毕业设计 22 从该系统的幅频特性曲线可以看出 该系统呈高通特性 是一阶高通滤波器 3 3 逆逆 Z 变换及变换及 MATLAB 实现实现 离散系列的Z变换具有如下一般形式 f k 3 4 0 1 M j j j N i i i b z B z F z A z a z 若为单边序列 即当时 则其Z变换的收敛域应为 且包 f k0k 0f k 0 zp 括 故此时的分子多项式的最幂次不能高于分母多项式的最高幂次 即满足z F z MN 与拉普拉斯逆变换相类似 逆Z变换也可以由部分分式展开法来求得 但要注意的是 离散信号的基本序列是指数序列 其Z变换为 因此在求逆Z变换时 通常 k a e k zza 并不是直接展开 而是对进行展开 F z F zz 设某离散序列的 Z变换为 则 f k 3 5 1 N i i F zB zB z zA z zp 其中为的N个极点 若上式满足 则可对其直接进行部分 1 2 i p iN F zzMN 分式展开得 12 12 N N rrrF z zzpzpzp 1 2 iii F z rzpzpiN z 称为有理函数的留数 F zz 现分两种情况进行讨论 1 的所有极点为单实极点 此时 F z N12 12N r zrzr z F z zpzpzp 则F z 的逆Z变换应为 1 N k ii i f kr pe k 可见当的所有极点为单实极点时 其对应序列为若干个由极点位置决定 F z f k F z 的指数序列之和 湖北工业大学商贸学院毕业设计 23 2 有共轭极点 F z 设有一对有共轭极点 则 F z 1 2 jb pae 312 123 N N r zr zrzr z F z zpzpzpzp 即 21 f kfkf k 则中由共轭极点所决定的两项复指数序列可以合并为一项 故有 f k 3 6 121 3 2 cos N kk ii i f kf kfkrabke kr pe k 当具有一对以上共轭极点的情况亦同理 可见 当有共轭极点时 2 32 H zz zzz F z 其对应时间序列将出现按指数规律变化的正弦 或余弦 序列分量 结论 序列的时域特性完全由其Z变换的极点位置决定 从以上的分析我 f k F z 们可以看出 只要求出部分分式展开的系数 留数 我们就 F zz 1 2N i r i 可以直接求出的逆变换 F z f k 与求拉普拉斯逆变换一样 我们也可以用MATLAB 的函数来求逆Z变换 residue 下面将举例说明如何用MATLAB来求逆Z变换 已知某离散系统的系统函数为 2 2 32 H zz zzz 试用MATLAB求该系统的单位响应h k 解 首先利用MATLAB对进行展开 即先考虑 H z z 2 2 32 H zz zzz 然后调用 residue 函数求出部分分展开的系数和极点 对应的MATLAB命令如 H z z 下 A1 3 2 B1 0 r p kresidue B A 运行结果为 湖北工业大学商贸学院毕业设计 24 r 2 1 p 2 1 k 由上述结果可得 21 21 H z zz 由于该系统的系统函数只有两个单实极点 故由上述结果可直接求出系统的单位响 应 为 2 2 1 kk h ke k 湖北工业大学商贸学院毕业设计 25 结 束 语 经过几个月的努力 毕业设计基本完成了 在毕业设计的实践中 学到很多有用的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论