严忠晨MATLAB语音滤波器设计方案.docx

上传人:b****6 文档编号:6002029 上传时间:2023-01-02 格式:DOCX 页数:36 大小:963.72KB
下载 相关 举报
严忠晨MATLAB语音滤波器设计方案.docx_第1页
第1页 / 共36页
严忠晨MATLAB语音滤波器设计方案.docx_第2页
第2页 / 共36页
严忠晨MATLAB语音滤波器设计方案.docx_第3页
第3页 / 共36页
严忠晨MATLAB语音滤波器设计方案.docx_第4页
第4页 / 共36页
严忠晨MATLAB语音滤波器设计方案.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

严忠晨MATLAB语音滤波器设计方案.docx

《严忠晨MATLAB语音滤波器设计方案.docx》由会员分享,可在线阅读,更多相关《严忠晨MATLAB语音滤波器设计方案.docx(36页珍藏版)》请在冰豆网上搜索。

严忠晨MATLAB语音滤波器设计方案.docx

严忠晨MATLAB语音滤波器设计方案

南京师范大学泰州学院

毕业论文(设计)

(2012届)

题目:

基于MATLAB的语音滤波器设计

院(系、部):

电力工程学院

专业:

电气工程及其自动化

姓名:

严忠晨

学号13080436

指导教师:

叶彪明

南京师范大学泰州学院教务处制

基于MATLAB的语音滤波器设计

摘 要

走进新时代,科学急速发展,数字技术带来的生活日新月异。

本文借着数字信号处理之手,结合先进的数学软件MATLABR2009a,对数字滤波技器的发展前景做出自己的分析理解推导。

数字滤波器分为IIR和FIR两类。

本着“求同存异”的原则,去繁化简,做出有一定程度和效果的创新总结。

文中深入分析了滤波器系统设计的各个功能特点、实现原理以及技术关键,分别阐述了使用MATLAB进行带通滤波器设计及仿真的具体方法。

从初学者的角度,篇幅中简单介绍了MATLAB,减少了“学院式”的理论推导,降低了Fourier变换、Laplace变换、z变换、复变函数的环路环节的理解难度,着力体现以“必须够懂为度”的原则。

关键词:

数字滤波器IIRFIRMATLAB

BasedOnTheMatlabVoiceFilterDesign

Abstract

Wegointoaneweraandthesciencedevelopsrapidly.Thedigitaltechnologybringsthelifechangeswitheachnewday.Thisarticleisborrowinghandofthedigitalsignalprocessing,WithadvancedmathematicssoftwareMATLABR2009a,Makesowntothedigitalfiltertechniqueprospectsfordevelopmentanalysisunderstandinginferentialreasoning.DigitalfiltersaredividedintotwotypesofIIRandFIR.Inlinewith“seekscommongroundwhilemaintainingdifference”principle,Goestothenumeroussimplification,Sothatthereisacertaindegreeandeffectoftheinnovativesummary.Inthearticlehasthoroughlyanalyzedthefiltersystemdesigneachfunctioncharacteristic,Realizationprincipleaswellastechnicalkey,elaboratedseparatelyusesMATLABtocarryontheband-passfilterdesignandthesimulationconcretemethod。

Fromtheperspectiveofascholar,lengthinthebriefintroductiontoMATLAB,reducethe"college-derivedfromthetheory."andtheFouriertransformation、theLaplacetransformation、theztransformation、complexvariablefunctionringcircuitlinkunderstandingdifficulty。

Weshouldfocusoninthe"mustbeunderstoodastheprinciple."

Keywords:

DigitalfilterIIRFIRMATLAB

目 录

绪论

1.1数字信号处理概述

信号是数字信号处理领域中最基本、最重要的概念。

简单的说,信号就是信息的载体,是信息的物理体现。

信号既可以分为时间连续、幅度也连续的模拟信号和在时间上和幅度上都经过量化的数字信号,也可以分为连续时间信号和离散时间信号。

几乎在科学技术的每一领域,为了信号的提取,都需要进行信号处理。

信号处理,就是以数值计算的方法对信号进行采集、变换、综合、估计与识别等加工处理。

借以达到提取信息和便于应用的目的。

随着计算机和信息科学的飞速发展,信号处理已经逐渐发展成为一门独立的学科,是信息科学的重要组成部分,在语音处理、图像处理、雷达、航空航天、地质勘探、通信、生物医学工程等众多领域得到了广泛的应用[7]。

有道是“金猴奋起千钧棒玉宇澄清万里埃”。

1.2数字信号处理含义及学科

1.2.1数字信号处理学科

数字信号处理(DSP)一般有两层含义,一层是广义的理解,为数字信号处理技术——DigitalSignalProcessing;另一层是狭义的理解,数字信号处理器——DigitalSignalProcessor[3]。

1.2.2数字信号处理学科

(1)信号的采集,包括A/D、D/A技术,抽样、多率抽样,量化噪声分析等。

(2)离散信号的分析,包括时域及频域分析,离散傅里叶变换理论。

(3)离散时间线性时不变系统分析。

(4)数字滤波技术。

(5)信号的建模,包括AR,MA,ARMA,PRONY等各种模型。

(6)信号估计理论,包括相关函数分析及功率谱估计等。

(7)谱分析理论,包括高阶谱分析。

(8)自适应信号处理。

(9)信号处理中的特殊算法,如同态处理、奇异值分解及信号重建等。

(10)数字信号处理的实现。

(11)数字信号处理的应用[9]。

1.3数字信号处理系统特点

(1)精度高。

模拟信号处理系统中元器件的精度很难达到10-3以上,而数字信号处理系统只要17位字长就可达到10-5的精度,可获得高性能指标。

(2)灵活性强。

通过修改存储器中数字信号处理系统的系数值,就可以得到不同的系统,比改变模拟系统方便得多。

(3)可靠性好。

模拟信号处理系统元器件的各种参数都受到温度的影响,随环境条件的变化而变化,并且容易出现电磁感应、杂散效应。

而数字信号处理系统由性能一致、为数不多的大规模集成电路芯片构成,只有两个信号电平“0”、“1”,因此受周围环境温度及噪声的影响较小,可靠性好。

(4)容易大规模集成。

由于数字部分有高度规范性,便于大规模集成、大规模生产。

(5)时分复用。

将各路输入信号接至一个多路开关,在同步器控制下,按一定的时间顺序依次进行A/D变换和数字处理,各路处理结果用位于输出端的分路器按相同的时间顺序分离开来,分别输出。

时分复用使设备利用率提高、成本降低。

(6)多维处理。

利用庞大的存储单元,可以存储一帧或数帧图像信号,实现二维甚至多维信号的处理,包括二维或多维滤波、二维及多维谱分析等[9]。

1.4数字信号处理实现方法

(1)采用通用计算机上用软件来实现:

软件采用高级语言编写,也可利用商品化的各种DSP软件如MATLAB、SYSTEMVIEW等。

该方法实现简单、灵活,但实时性较差,很少用于实时系统,主要用于教案和科研的前期研制阶段。

(2)用单片机:

单片机发展已经很久,价格便宜,且功能很强。

可根据不同环境配不同单片机,能实现实时控制,但数据运算量不能太大,即单片机不能用于复杂的信号处理。

(3)利用通用DSP芯片:

DSP芯片较之单片机有着更为突出的优点,如内部带有乘法器、累加器,采用流水线工作方式及并行结构,多总线速度快,配有适于信号处理的指令(如FFT指令)等。

(4)利用特殊用途的DSP芯片:

市场上推出的专门用于FFT、FIR滤波器、卷积、相关等的专用数字芯片,其软件算法已固化在芯片内部,使用非常方便。

这种方式比通用DSP芯片速度更高,但功能比较单一,灵活性较差。

目前世界上生产DSP芯片的主要厂家有美国德州仪器TI公司(TMS320CX系列)、AT&T公司(DSP16、DSP32系列)、Motorola公司(DSP56x、DSP96x系列)、AD公司(ADSP21X、ADSP210X系列)等[3]。

1.5本章小结

“数字处理处理”是研究用数字或序列来表示信号和处理信号。

具体说,就是利用计算机或专用处理设备对信号进行分析、变换、综合、估计与识别等加工处理。

今天,它正以崭新的姿态出现在科学技术的各个领域中,并且综合了系统理论、统计学、数值分析、计算机科学和超大规模集成电路等学科的理论和技术,而独立地形成为一门具有普遍意义的学科[9],在我们多面临的信息革命中起到重要的作用。

可以说,只要使用计算机和数据打交道,几乎都要用到数字信号处理技术。

可以说“天生我才必有用,千金散尽还复来”。

第1章MATLAB概述

MATLAB是科研开发和工程设计的有力工具。

Simulink是建立在MATLAB基础上的动态系统仿真工具。

针对各种硬件目标的开发仿真,MATLAB提供有相应的实时目标开发工具。

利用MATLAB及其工具箱可以快速完成各类数值计算、符号计算和数据可视化等任务,可以解决有关线性代数、矩阵分析、微积分、微分方程、信号与系统、信号分析与处理、系统控制等领域的问题;利用Simulink及其模块库,则能够方便地创建各种动态系统的模型并进行仿真[2]。

可叹“一夫当关,万夫莫开”。

2.1MATLAB简介

MATLAB是美国MathWorks公司开发的新一代科学计算软件;MATLAB是英文MATrixLABoratory(矩阵实验室)的缩写;MATLAB是一个专门为科学计算而设计的可视化计算器。

利用这个计算器中的简单命令,能快速完成其他高级语言只有通过复杂编程才能实现的数值计算和图形显示。

MATLAB语言是一种既可交互使用又能解释执行的计算机编程语言。

所谓交互使用,是指用户输入一条语句后立即就能得到该语句的计算结果,而无需像C语言那样首先编写源程序,然后对之进行编译、连接,才能最终形成可执行文件。

MATLAB语言可以用直观的数学表达式来描述问题,从而避开繁琐的底层编程,并把有限的时间和精力更多地花在要解决的问题上,因此可大大提高工作效率。

MATLAB的编程语法与交互使用是一致的,因此交互使用时输入的代码能够很方便地转化为可重用的函数或过程。

MATLAB是解决工程技术问题的计算平台。

利用它能够轻松完成复杂的数值计算、数据分析、符号计算和数据可视化等任务。

其中,符号计算能够得到符号表达式的符号解(如函数积分)和任意精度数值解(如精确到小数点后100位的π值)。

相对于数值计算,符号计算不会带来任何机器误差,但是需要耗费更多的计算机内存和时间。

另外,利用MATLAB软件包中的Similink等组件,能够对各种动态系统进行仿真分析,并且能为多种实时目标生成可执行代码,这显然有利于缩短软硬件系统的研发周期。

MATLAB软件由主包和各类工具箱构成。

其中,主包基本上是一个用C/C++等语言编写成的函数库。

该函数库提供矩阵(或数组)的各种算法以及建立在此基础上的各种应用函数和一些相关的用户友好操作界面。

而工具箱则从深度和广度上大大拓展了MATLAB主包的功能和应用领域。

从使用角度看,这些工具箱可分为功能性工具箱和学科性工具箱两大类。

前一类工具箱通用于各个学科领域,如“符号工具箱”;后一类工具箱则与专门学科密切相关,如“信号处理工具箱”、“、神经网络工具箱”、“金融分析工具箱”等。

此外,市场上还有大量不断涌现的基于MATLAB的第三方软硬件产品。

随着自身的不断完善和发展,MATLAB功能越来越强大,应用也越来越广泛。

无论是在教育研究单位,还是在工业商业部门,MATLAB普遍被认为是能有效提高工作效率的首选软件工具。

在学术界,MATLAB被认为是科学计算的标准软件(IEEE称其为同类产品中最具特色的软件),在许多学术刊物上都可以看到MATLAB应用的文章;在大学里,MATLAB成为理工科广大教师和学生常用的辅助教案工具,甚至在中小学教案中也能看到MATLAB的各种应用;在工业界,诸如Boeing,Motorola,Nokia,Quantum,TI等公司都在利用MATLAB来加快产品的研发过程。

可见,MATLAB已经不仅仅是一个“矩阵实验室”,而是一个能够满足不同科技领域中不同层次计算需要的高级计算工具[2]。

2.2MATLAB特点

(1)MATLAB的基本数据类型是双精度的、无需定义的、下标从1开始的复数矩阵。

其中,行向量是1×n的矩阵,列向量是n×1的矩阵,标量是1×1的矩阵。

这就意味着能够在MATLAB程序中使用高度“向量化”的语句以使整个程序易写易读。

例如要得到t=1,2,3时刻信号y=sin(t)的值,MATLAB只需两条语句t=[123]。

y=sin(t)就能完成(省却了循环)。

这也就是MATLAB中频繁使用的“数组运算”。

再例如要求解代数方程组,MATLAB只需要一条指令x=A\b就能完成。

该指令虽然简单,但其内涵却非常丰富(可以求解恰定、欠定或超定方程组)。

(2)MATLAB有命令行操作(像一个高级计算器)和编程执行两种使用方法,分别适用于简单的草稿式计算和复杂的应用开发。

(3)绝大多数MATLAB函数的输入输出参数个数都是可变的,调用函数时输入输出参数的个数不同,函数完成的功能会有一定的差异。

(4)MATLAB操作界面友好,编程语言简练,算法高效准确,图形显示和数据可视化功能强大。

(5)MATLAB的帮助系统非常完善,内容包括各个组件的入门指南、完全用户手册和示例演示等,且有多种获取和使用帮助的简便方法。

例如,即使是在Help和helpdesk帮助中显示的代码也通过现场菜单执行或直接打开编辑。

另外,MATLAB帮助内容有PDF格式和Html格式两套,用户既可以通过阅读相关的PDF文档来系统地学习MATLAB,也可以在使用中随时查找需要的信号。

(6)MATLAB采用开放性结构结构设计。

这具体体现在以下三个方面:

一是除少数内部函数外,所有MATLAB主包函数和各种工具函数都是可读可改的M文件(纯文本格式),这也使得新工具箱的开发和拓展非常方便,例如用户可通过修改已有的M文件或添加新的M文件来生成用户自定义工具箱;二是支持DDE、COM、ActiveX等技术,可以提供和接受Active组件服务;三是对外提供了MATLAB的C/C数学函数库、图形函数库以及相关的API函数,这就便于在其他开发环境(如MSVC++或Fortran)编写的程序以提高执行速度[2]。

2.3MATLAB构成

(1)集成开发环境:

包括操作桌面、命令窗、历史命令窗、编辑调试器、帮助浏览器、工作空间浏览器、当前路径浏览器、搜索路径浏览器等工具,方便用户使用和管理MATLAB的函数和文件。

(2)数学函数库:

数学函数库(包含600多个数学应用类函数)是MATLAB语言的基础,也是各种工具箱应用的基础。

这些数学函数采用国际上公认的最先进的可靠算法,经过专家优化后以简单易用的形式呈现出来,以帮助用户快速、准确、可靠地完成各种数值计算。

(3)MATLAB语言:

MATLAB语言使用使用灵活,它不仅具有条件控制、函数调用、数据结构、输入输出、面向对象等一般程序语言特性,而且更有利于矩阵和数组的操作和运算。

MATLAB语言既可以进行小规模编程,完成算法设计和算法实验等基本任务,也可以进行大规模复杂编程,例如开发GUI独立应用程序。

(4)句柄图形系统:

句柄图形系统是MATLAB图形显示和数据可视化功能的基础,也是用户创建GUI应用程序的基础。

它对外提供两套操作函数:

一套是高层函数(以底层函数为基础),可完成基本的数据图示、图像处理、动画生成、图形显示等功能;另一套是底层函数,可充分操纵图形对象的各个特性,使图形表现更加灵活和富有特色。

(5)应用程序接口库(APIs)和MATLAB编译器:

借助API接口函数,一方面能够在C/C++或Fortran中直接调用MATLAB函数,或读写MATLAB的MAT数据文件,或把整个MATLAB当作计算引擎来调用;另一方面可以在MATLAB环境中直接重用C/C++,Fortran,Java等代码[2]。

2.4MATLAB信号处理工具

MATLAB以工具箱(Toolbox)的形式提供了用于数字信号处理的大量函数,用户可以调用相应的函数进行编程完成特定的信号处理任务。

不仅如此,MATLAB工具箱还提供了更加简单和直观的信号处理图形用户界面工具(GUI)—滤波器设计与分析工具(FDATool)和信号处理工具(SPTool),用户可利用此工具随时对比设计要求和滤波器特性,直观简便,加大地减轻了工作量,有利于滤波器设计的最优化。

利用SignalProcessingToolbox辅助解决数字信号处理问题通常可以采用两种不同的命令行方式:

(1)结合工具箱函数以M文件等程序和命令的运行解决具体问题的命令行方式;

(2)利用MATLAB提供的GUI工具,如FDATool或SPTool完成任务的设计、分析与计算的GUI方式。

我们平时所要设计的数字滤波器,类型和阶数并不一定是完全给定的,很多时候都要根据设计要求和铝箔效果不断地调整,以达到设计的最优化。

在这种情况下,滤波器设计就要进行大量复杂的运算,单纯靠公式计算和编写简单的程序难以在短时间内完成设计。

利用MATLAB强大的计算功能进行计算机辅助设计,可以快速有效地设计数字滤波器,大大简化计算量,直观简便。

而MATLAB信号处理工具箱(SignalProcessingToolbox)提供的GUI工具使滤波器设计过程直观化,在确定滤波器参数后可以方便地得到期望的滤波器形式,使初学者可以在短时间内掌握[5]。

2.4.1SignalProcessingToolbox提供的具体功能

(1)大量的信号和线性系统模型;

(2)数字及模拟滤波器设计、分析及实现,包含幅值、相位、零极点、脉冲响应及阶跃响应等;

(3)方便的FFT、DCT、Hilbert及其他变换;

(4)统计信号处理,用统计方法进行时间序列数据建模及谱分析;

(5)多速率信号处理;

(6)波形生成、窗口生成,以及集成的图形界面用于滤波器设计、分析、谱分析及信号的可视化测量[5]。

2.4.2滤波器设计与分析工具FDATool

FDATool(FilterDesignandAnalysisTool)是MATLAB信号处理工具箱(SignalProcessingToolbox)中一个强有力的进行快速射击与分析滤波器的图形用户界面工具。

MATLAB6.0以上的版本还专门增加了滤波器设计工具箱(FilterDesignToolbox)。

FDATool可以设计包括FIR和IIR的几乎所有常规滤波器。

FDATool也提供对滤波器进行分析的工具,例如幅频和相频相应曲线和极零点图等。

FDATool可以和MATLAB产品族的其他产品无缝结合以开发综合工程,例如结合FilterDesignToolbox进行高级FIR与IIR滤波器设计、滤波器转换及多速率滤波器设计等,结合Simulink产生滤波器的原始Simulink模块,结合EmbeddedTargetforTexaxInstrumentsC6000DSP可以下载代码到相应DSP目标板中等。

启动MATLAB后,在命令窗口中输入命令:

fdatool

按回车键后打开FDATool工具的图形用户界面主窗口,如图2-1所示[5]:

图2-1FDATool主窗口

2.4.3信号频谱分析和滤波设计工具SPTool

SPTool(SignalProcessingTool)是MATLAB信号处理工具箱中进行数字信号处理的交互式图形界面环境。

它包含了工具箱中许多重要函数的功能,通过这个工具可以简便快捷地完成复杂数字信号处理任务,而又无需对工具箱中的函数十分熟悉,便于用户快速掌握和应用。

SPTool可以用于信号分析、滤波器设计、滤波器分析、信号滤波、信号谱分析等处理和操作。

使用SPTool内嵌的四个交互式信号处理工具,可以完成信号浏览、浏览器设计与分析的各种功能,这四个信号处理模块如下:

(1)信号浏览器SignalBrowser

(2)浏览器设计与分析工具FilterDesigner

(3)滤波器查看工具FilterVisualizationTool(FVTool)

(4)功率谱查看工具SpectrumViewer

启动MATLAB后,在命令窗口输入命令:

Sptool

按回车键后打开SPTool的主窗口,如图2-2所示[5]:

图2-2SPTool主窗口

2.4.4滤波器设计与参数设置

在MATLABR2006a版本之前的信号处理工具箱中,提供了两种关于滤波器设计的图形用户界面,即前面介绍的滤波器设计与分析工具FDATool和SPTool环境下的滤波器设计器FilterDesigner。

尽管在MATLABR2006a中,已经用FDATool取代了FilterDesigner,但是考虑到之前版本的使用,本节仍然简要介绍SPTool中滤波器设计器的使用。

FilterDesigner可以根据幅值和零极点图的设置,灵活地设计任意长度和类型的数字IIR和FIR滤波器。

FilterDesigner提供了如下的功能:

(1)设计具有标准的频率带宽结构的滤波器,如Bandpass、Lowpass、Bandstop、Highpass等;

(2)使用等纹波(Equiripple)、最大方差(Leastsquares)、窗函数(Window)等方法设计FIR滤波器;

(3)使用Butterworth、ChebyshevⅠ、ChebyshevⅡ、Elliptic等方法设计IIR滤波器;

(4)使用极零点编辑器Pole/ZeroEditor,通过设置和移动极零点位置,设计任意的FIR和IIR滤波器;

(5)在滤波器幅度响应图中添加频谱[5]。

2.5本章小节

目前,MATLAB应用已深入各个领域。

它建立在向量、数组和矩阵运算基础上,可以完成常用的矩阵运算、数组运算、方程求根、数值优化等数值运算功能及函数求导积分运算功能;同时它还提供了编程实现复杂算法的编程能力,通过编程可以解决复杂的工程问题;此外还可绘制二维、三维图形,使输出结果可视化。

图形用户界面工具为信号处理工具箱中的很多函数提供了直观易用的使用界面,方便用户快速地完成数字信号的载入、观察和分析,数字滤波器的设计与实现,频谱的生成与分析等工作。

图形界面丰富的控制选项可以满足用户各种设计与分析的要求,而且无需详细了解大量信号处理函数,用户可以将精力集中在数字信号处理的算法设计方面[5]。

本章主要介绍了MATLAB的由来、特点、构成、信号处理工具工具箱。

在MATLAB的帮助下,未来的数字信号处理世界真可谓“一水护田将绿绕,两山排闼送青来”

第2章数字滤波器概述

数字滤波器是数字信号处理的一个重要技术分支。

利用它可以在形形色色的信号中提取所需要的信号,并抑制不需要的信号(干扰、噪声)。

数字滤波器具有稳定性好、精度高、灵活性强、体积小、重量轻等优点,越来越受到人们的重视,并在工程师实际中得到了广泛的应用[9]。

众人尽言“小楼一夜听春雨,深巷明朝卖杏花”。

数字滤波器可狭义地理解为具有选频特性的一类系统,如

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1