1、 1 摘要摘要 随着信息技术的不断发展, 数字信号处理已成为一个极其重要的学科和技术 领域,在通信、语音、图像、遥感、生物工程等众多领域得到了广泛的应用。数 字信号处理的核心内容主要是信号的获取、传输和处理、识别及综合等。信号是 信息的载体,系统是信息处理的手段。因此,为了更好的研究信号和系统的基本 理论与方法,使同学们更好地理解和掌握数字信号处理的理论知识,在实验过程 中,借助 MATLAB 这个平台来进行辅助设计。 MATLAB 是用于算法开发、数据可视化、数据分析以及数值计算的高级技 术计算语言和交互式环境。作为强大的科学计算平台,它几乎满足所有的计算要 求。随着对仿真和程序设计通用性及
2、可视化需求的日益增加,MATLAB 着重改 善了图形用户界面的制作,极大地满足了用户的需求。 MATLAB 的 GUID 是专门用于图形用户界面的快速开发环境,本设计利用 MATLAB 的 GUIDE 工具箱制作了一套辅助“数字信号处理”课程教学的实验软 件包。 该实验软件包是由一系列形象的图形用户界面组成, 每个界面以坐标窗口、 弹出框、按键、动态文本框等为基本部分,构建了较为完善和友好的人机交互方 式,使用便捷。 关键词 数字信号处理;GUI;教学实验;离散傅里叶变换;数字滤波器 2 目 录 摘要. 1 第 1 章章 . 3 1.1 设计内容与要求 3 1.2 MATLAB GUI 的简介
3、与特点 4 第 2 章 基本理论. 4 2.1 离散时间信号和离散时间系统 4 2.2 离散傅里叶变换及其快速算法 5 2.3 数字滤波器的原理和设计 6 2.4 双音多频信号检测和语音滤波 7 第 3 章 系统 GUI 界面设计与实现 . 8 3.1 概述. 8 3.1.1 创建 GUI 8 3.1.2 写回调函数 CallBack 10 3.1.3 句柄图形之间的层次关系11 3.1.4 获取与设置对象属性11 3.2 用户登录界面的设计与实现11 3.3 离散时间信号与离散时间系统的 GUI 界面的设计与实现 . 13 3.3.1 离散时间信号的设计与实现. 14 3.3.2 线性卷积的
4、设计与实现. 16 3.3.3 离散时间系统的设计与实现. 17 3.3.4 离散时间信号傅里叶变换及系统频率响应的设计与实现. 19 3.3.5 信号取样的设计与实现. 21 3.3.6 Z 的正反变换及系统函数的设计与实现 . 23 3.4 离散傅里叶变换及其快速算法的 GUI 界面的设计与实现 . 24 3.4.1 离散傅里叶级数(DFS)的设计与实现. 24 3.4.2 离散傅里叶变换(DFT)的设计与实现 26 3.4.3 循环卷积的设计与实现. 28 3.4.4 快速傅里叶变换(FFT). 30 3.4.5 信号谱分析的设计与实现. 31 3.5 数字滤波器的 GUI 界面的设计与
5、实现 . 32 3.5.1 巴特沃斯低通滤波器的设计与实现. 33 3.5.2 切比雪夫 I 型低通滤波器的设计与实现. 34 3.5.3 窗函数法设计 FIR 低通滤波器的设计与分析 35 3.5.4 频率取样法设计 FIR 低通滤波器的设计与实现 40 3.6 双音多频信号检测及语音滤波实验的 GUI 界面的设计与实现 . 41 3.6.1 双音多频(DTMF)信号检测的设计与实现 . 41 3.6.2 语音滤波实验的设计与实现 46 第 4 章 设计总结和心得. 47 4.1 设计总结 48 4.2 设计心得. 错误错误!未定义书签。未定义书签。 3 第第 1 章章 1.1 设计内容与要
6、求 本设计任务是利用 MATLAB 的图形用户界面设计向导 GUIDE 工具箱建立一个 与本科数字信号处理理论教学相配套的实验教学仿真平台。具体要求如下: 1、构建总体结构框架: 通过查阅相关资料、熟悉教材(主要针对姚天任,江太辉等编著的数字信 号处理(第 3 版)的内容与结构、研究本课程对实验的要求,构建一个总体 的与教材配套的结构框架; 2、构建实验界面: 要求用 MATLAB 的 GUI 中的坐标窗口、弹出框、按键、动态文本框等搭建一 系列的仿真友好界面,使得即便不懂 MATLAB 语言编程的同学,也可以非常方便 地使用和理解; 3、实现具体界面的功能: 要求用 MATLAB 编程语言来实现每一个具体界面的具体实验功能,以达到对 相关内容的仿真。 1.2 MATLAB GUI 的简介及特点 MATLAB 是美国 MathWorks 公司出品的商业数学软件,用于算法开发、数据 可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括 MATLAB 和 Simulink