基于matlab的声音信号处理课程设计内容摘要:

理统计、优化方法、自动控制、数字信号处理、动态系统仿真等高级课程的基本教学工具。 特别是最近几年, MATLAB 在我国大学生数学建模竞赛中的应 用,为参赛者在有限的时间内准确、有效地解决问题提供了有力的保证。 3 MATLAB 组成 MATLAB 作为 Math Works 产品家族的核心,它主要由 5 大部分组成,分别为MATLAB 语言( the MATLAB Language)、 MATLAB 工作环境( the MATLAB Working Environment)、 MATLAB 数学函数库( the MATLAB Math Library )、 MATLAB 应用程序接口( the MATLAB Application Interface)和图形句柄系统( Handle Graphics)。 下面对它们分别进行介绍。 MATLAB 语言 MATLAB 语言是一种以矩形( Matrix)和阵列( Array)为基本编程单元,拥有完整的控制语句、数据结构、函数编写与调用格式和输出功能,具有面向对象程序设计特征的高级程序语言。 使用 MATLAB 语言不但可以方便快捷地完成小规模的算法验证、程序开发和调试工作,而且可以进行大规模、高效的复杂应用程序设计。 MATLAB 的工作环境 简单来说, MATLAB 工作环境就是一系列实用工具的集合,它不但包括了各种操作工作空间中变量 的工具盒管理数据输入输出的方法,而且包括了开发调试 M文件和 MATLAB 应用程序的集成环境,使用起来极为方便。 MATLAB 数据函数库 MATLAB 数据函数库是 大量的各种形式的数学函数和算法的集合,它不仅包括了最基本的初等函数,如 sum、 sine、 cosine 和复数运算等,而且包含了大量复杂的高级函数和算法,如贝塞尔( Bassel)函数,快速傅里叶变换和矩阵求逆等。 用户在编写自己的 MATLAB 程序时,可以轻松地调用这些函数和算法,从而极大地方便了算法的开发。 MATLAB 应用程序接口 MATLAB 的外部接口使得 MATLAB 可以与外部设备和程序实现数据交互和程序移植,可以扩充 MATLAB 强大的数值计算和图形显示功能,从而弥补了其执行效率较低的缺点,同时增强了其他应用程序进行软件开发的功能,提高了软件开发效率。 MATLAB 接口工具不仅使得 MATLAB 可以十分方便地与其他应用程序交换数据和信息还实现了与其他程序函数和算法的交互。 所以,通过 MATLAB 的接口编程,可以充分利用现有资源,能更容易地编写出功能强大、结构简洁的应用程序。 MATLAB 主要提供了 MEX 文件、 MAT 文件、 MATLAB 计算引擎 、 COM 和 DDE、 Web 服务、 4 硬件接口和 Excel 生成器、 Java 生成器和 .NET 生成器等形式的接口。 图形句柄系统 Handle Graphics 为 Math Work 公司的注册商标,是 MATLAB 的图形系统。 它在包含了大量高级的 2D 和 3D 数据可视化、图形显示、动画生成和图像处理命令的同时,还提供了许多低级的图形命令,允许用户按照自己的需求显示图形和定制应用程序图形用户接口,即方便又灵活。 MATLAB 的特点 MATLAB 是 Math Work 公司开发的跨平台的,用于矩阵数值计算的简单高效 的数学语言,与其他计算机高级语言如 C、 C++、 Fortran、 Basic、 Pascal 等相比,MATLAB 语言编程要简洁得多,编程语句更是其他高级语言望尘莫及的。 与其他高级语言相比较, MATLAB 具有以下独特的优势: a. MATLAB 是一种跨平台的数学语言。 采用 MATLAB 编写的程序可以在目前所有的操作系统上运行(只要这些系统上安装了 MATLAB 平台)。 MATLAB 程序不依赖于计算机类型和操作系统类型。 b. MATLAB 是一种 超高级语言。 MATLAB 平台本身是用 C语言写成的,其中汇集了当前最新的数学算法库,是许多专业数学家和工程学者多年的劳动结晶。 使用 MATLAB 就意味着站在巨人的肩膀上观察和处理问题,所以在编程效率,程序的可读性、可靠性和可移植性上远远超过了常规的高级语言。 c. MATLAB 语法简单,编程风格接近数学语言描述,是数学算法开发和验证的最佳工具。 MATLAB 以复数矩阵运算为基础,其基本编程单位是矩阵,使得编程简单,而功能极为强大。 而且, MATLAB 中的数值算法是经过千锤百炼的,比用户自己编程实现的算法的可信度和可 靠性都要高。 d. MATLAB 计算精度很高。 MATLAB 中的数据是以双精度存储的。 一个实数采用 8 字节存储,而一个复数则采用 16 字节存储。 矩阵运算的精度很高,完全能够满足一般工程和科学计算的需要。 与其他语言相比, MATLAB 对计算机内存、硬盘空间的要求也是比较高的。 e. MATLAB 具有强大的绘图功能。 利用 MATLAB 的绘图功能,可以轻易地获得高质量的(印刷级)曲线图。 具有多种形式来表达二维、三维图形,并具有强大的动画功能,可以非常直观地表现抽象的数值结果。 f. MATLAB 具有串口操作、声音输入 /输出 等硬件操控能力,随着版本的提高, 5 这种能力还会不断加强,使得人们利用计算机和实际硬件相连接的半实物仿真的梦想得以轻易实现。 g. MATLAB 程序可以直接映射为 DSP 芯片可接受的代码,大大提高了现代电子通信设备的研发效率。 h. MATLAB 程序的执行效率比其他语言低。 MATLAB 程序通常是解释执行的,在执行效率和速率上低于其他高级语言。 事实上, MATLAB 自带的许多内部函数均是用 C语言编写并编译的,因此利用 MATLAB 内部函数程序部分的运行速度并不比其他语言中的相应函数低。 3 数字滤波器的设计 数 字滤波器概述 数字滤波器是数字信号处理的基础部分,与模拟滤波器相比,数字滤波器具有精度高、可靠性高、灵活性高、便于大规模集成和多维过滤等特点,已广泛应用于现代各类工程领域。 数字滤波器是具有一定传输特性的数字信号处理装置,它的输入和输出都是离散数字信号,它借助于数字器件和一定的数值计算方法,对输入信号进行处理,改变输入信号,进而去掉信号中的无用成分而保留有用成分。 如果在数字处理系统前、后分别加上 A/D转换器和 D/A转换器,就可以处理模拟信号。 数字滤波器的 输入输出是一个时间序列。 设 H( n)为数字滤波器的系统函 数, h( n)为其相应的脉冲序列,则在时域内有: y( n) =x( n) *h( n) ( 31) 在 z 域内有 : Y( z) =H( z) X( z) ( 32) 式中 X( z)和 Y( z)分别为输入 x( n)和输出 y( n)的傅里叶变换。 在频域内有 : Y( jw) =H( jw) X( jw) ( 33) 式中, H( jw)为数字滤波器的频率特性, X( jw)和 Y( jw)分别为输入 x( n)和输出 y( n)的频谱。 由此可见,一个合适的滤波器系统函 H(。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。