利用MATLAB软件对音频信号进行频谱分析与处理 下载本文

本科毕业设计说明书(论文)

的各种功能。

第 5 页 共 45 页

b.M文件编辑器(M文件是MATLAB所特有的使用该语言编写的磁盘文件) M文件编辑器是MATLAB为用户提供的用于编辑M文件的程序。 c.M文件调试器

同其他语言类似,MATLAB为用户提供了用于调试M文件的程序。 d.MATLAB工作空间

MATLAB工作空间是显示用户在MATLAB中通过命令进行操作的变量的集合的窗口。

e.在线帮助文档

MATLAB为用户提供了强大的在线帮助,通过使用MATLAB提供的帮助,用户可以查询函数的用法,学习MATLAB的使用。 2.3.3 MATLAB图像处理系统

MATLAB的图像处理系统为用户提供了非常丰富的函数,用以将工程计算的结果可视化。MATLAB图像处理系统的功能主要包括: a. 绘制二维图形; b.绘制三维图形;

c.定制图形用户界面(GUI)。 2.3.4 MATLAB数学函数库

MATLAB数学函数库包含了大量的数学函数,该函数库既包含了诸如求和、正弦、余弦之类的简单函数,也包含了转置矩阵、快速傅立叶变换等复杂函数[3]。

MATLAB数学函数通过两种方式提供给用户: a.内部函数

MATLAB内部数学函数是一些较为简单的函数,因为这些函数是直接内置于MATLAB的核心中的,所以其执行效率很高。

b.以M文件的形式提供的函数

MATLAB中以以M文件的形式提供的函数极大地扩展了MATLAB的功能,使得MATLAB能够应用于越来越多的领域。 2.3.5 MATLAB应用程序接口

MATLAB应用程序接口(API)实际上是一个让MATLAB语言同C语言和Fortran等其他高级语言进行交互的函数库。该函数库的函数通过动态链接来读写MATLAB文

本科毕业设计说明书(论文)

件[4]。

MATLAB应用程序接口的主要功能如下: a.从MATLAB中调用C和Fortran程序; b.从MATLAB中输入和输出数据;

c.在MATLAB和其他应用程序之间建立客户机/服务器关系。

第 6 页 共 45 页

2.4 MATLAB的主要功能和特性

2.4.1 MATLAB的主要功能

经过MathWorks 公司的不断完善,MATLAB已具备越来越多的功能: a.数值计算功能

MATLAB作为世界顶尖的数学应用软件,其出色的数值计算能力是使之优于数值计算软件的决定性因素之一。 b.符号计算功能

数学计算有数值计算和符号计算之分,仅有优异的数值计算功能并不能满足解决数学计算问题时的需要,在数学、应用科学和工程计算领域,常常会遇到符号计算问题。1993年,MathWorks 公司从加拿大滑铁卢大学购买了Maple的使用权,并以Maple的“内核”作为符号计算功能的“引擎”,依靠Maple已有的库函数,实现了MATLAB的符号计算功能[5]。

c.数据分析和可视化功能

在科学计算和研究工作中,技术人员经常会遇到大量的原始数据,而对数据的分析往往难以下手,如果将这些数据以图形的形式显示出来,不仅使数据间的关系清晰明了,而且对于揭示其内在本质往往有着非常重要的作用。 d.文字处理功能

MATLAB Notebook 为用户提供了强大的文字处理功能。MATLAB Notebook 允许用户从一个文字处理程序访问MATLAB的数值计算和可视化结果。

通过使用MATLAB Notebook,用户可以方便的创建包含文本、MATLAB命令及使用MATLAB得到的结果的文挡。 2.4.2 MATLAB的特点 a.功能强大

MATLAB不但在数值计算和符号计算方面具有强大的功能,而且在计算结果的分析和数据可视化方面也有着与其他类似软件难以匹敌的优势。此外,MATLAB的

本科毕业设计说明书(论文)

功能则将其应用扩展到更广的领域[6]。

第 7 页 共 45 页

Notebook为用户提供了把文字和数字进行统一处理的功能,而MATLAB的Simulink

不仅如此,MathWorks公司推出了针对各专业应用的MATLAB工具箱。 b.界面友好、编程效率高

MATLAB是一种以矩阵计算为基础的程序设计语言,其指令表达方式与标准教科书的数学表达式非常接近。用户不需要有较高的计算机编程基础,只要按照计算要求输入表达式,MATLAB将为用户计算出结果。

此外,使用MATLAB语言设计的程序,其编译和执行速度都远远超过了传统的C和Fortran语言设计的程序,可以说,MATLAB在工程计算方面的编程效率远远高于其他编程语言。 c.扩展性强

MATLAB的最重要的特点之一就是其可扩展性,这个特点使用户能够自由地开发自己的应用程序,这些年来,许多使用MATLAB的数学家、工程师和科学家已经开发出相当多的不同应用程序。

MATLAB的这些特点使它获得了对应用学科,特别是对边缘学科和交叉学科的极强的适应能力,并很快成为应用学科计算机辅助分析、设计、仿真以至教学等不可缺少的基础软件[7]。

本科毕业设计说明书(论文)

第 8 页 共 45 页

3. 数字滤波器简介

3.1 数字滤波器的定义及分类

数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。可以设计系统的频率响应,让它满足一定的要求,从而对通过该系统的信号的某些特定的频率成分进行过滤,这就是滤波器的基本原理。如果系统是一个连续系统,则滤波器称为模拟滤波器。如果系统是一个离散系统,则滤波器称为数字滤波器。

信号f(t)通过线性系统后,其输出y(t)就是输入信号f(t)和系统冲激响应h(t)的卷积。除了h(t)=δ(t)外,y(t)的波形将不同于输入波形f(t)。从频域分析来看,信号通过线性系统后,输出信号的频谱将是输入信号的频谱与系统传递函数的乘积。除非F(jω)为常数,否则输出信号的频谱将不同于输入信号的频谱,某些频率成分H(jω)有较大的模,因此,F(jω)中这些频率成分将得到加强,而另外一些频率成分处H(jω)的模很小甚至为零,F(jω)中这部分频率分量将被削弱或消失。因此,系统的作用相当于对输入信号的频谱进行加权。

线性系统对信号频谱的这种加工,可以有意识地用来按照人们的需要改变信号的频谱结构。这就是所谓频率滤波,是信号处理的一种方法。此时,人们也往往称此系统为滤波器。

由于计算机和人规模集成电路技术的进步,依靠传统的模拟电路来实现的电子系统已不适应。现在都在开始采用数字化技术,传统的模拟滤波器,正在被数字滤波器所代替,数字滤波器的输入是一个数字序列,输出是另一个数字序列。从本质上说它只是一个序列的运算加工过程,但另一方面因为它是一个离散系统,而一个离散系统具有一定的频率响应特性,适当地控制离散系统结构使其频率特性满足一定的要求,就可以起到和模拟滤波器同样的作用。但数字滤波器却具有精度高,可靠性强,灵活性大,适应范围广(在甚低频范围),快速等优点。而且可以分时复用,同时处理若干不同信号,因此已得到越来越广泛的应用[9]。

一个离散的时间系统,当它的系统函数一经确定后就可以根据H(Z)写出输出和输入关系的差分方程来,再用计算机根据不同的输入序列情况求出其相应的输出序列。数字滤波器是一个具有指定频率特性的离散系统,因此它的设计就在于确定它的

[8]