基于matlab的语音信号滤波去噪.doc

上传人:h**** 文档编号:144904 上传时间:2018-07-11 格式:DOC 页数:24 大小:440.50KB
下载 相关 举报
基于matlab的语音信号滤波去噪.doc_第1页
第1页 / 共24页
基于matlab的语音信号滤波去噪.doc_第2页
第2页 / 共24页
基于matlab的语音信号滤波去噪.doc_第3页
第3页 / 共24页
基于matlab的语音信号滤波去噪.doc_第4页
第4页 / 共24页
基于matlab的语音信号滤波去噪.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、 2013届本科生毕业设计 题目: 基于 matlab 声音信号的滤波去噪处理 作 者 姓 名: 柯运生 学 号: 2009080313 院 (系): 机械与电子工程学院 专 业: 电子信息工程 指 导 教 师: 邵 毅 蒋明曦 指导教师职称: 讲 师 工程师 2013 年 4 月 8 日 SuZhou College Year 2013 Bachelor Graduation Design Title:Based on Matlab Voice Signal Filtering Denoising Processing Author: Ke Yunsheng Student ID: 2009

2、080313 Department: Collage of Mechanical and Electronic Engineering Major: Electronic and Information Engineering Instructor: Shao Yi Jiang Mingxi Professional Title: Lecture Engineer April 8th, 2013 摘 要 在数字信号处理中 ,滤波器的设计占有极其重要的地位。而其中, FIR 数字滤波器和 IIR 数字滤波器是重要组成部分。 Matlab 具有功能强大、简单易学、编程效率高等特点 ,深受广大科技工

3、作者的喜爱。特别是 Matlab 中还具有信号分析工具箱 ,所以对于使用者,不需要具备很强的编程能力 ,就可以方便地进行信号分析、处理和设计。利用 Matlab 中的信号处理工具箱,可以快速有效的设计各种数字滤波器。本论文基于 Matlab 语音信号处理的设计与实现,综合运用数字信号处理的相关理论知识,对加噪声语音信号进行时域、频域分析并 滤波。而后通过理论推导得出相应结论,再利用 Matlab 作为编程工具进行计算机实现工作。在设计实现的过程之中,使用巴特沃斯、切比雪夫和双线性变法设计 IIR 数字滤波器,使用窗函数法来设计 FIR 数字滤波器,并利用 Matlab 作为辅助工具,完成设计中

4、的计算与图形的绘制。通过对所设计滤波器的仿真和频率特性的分析可知,利用 Matlab 信号处理工具箱,可以快捷有效地设计 FIR 和 IIR 数字滤波器,过程简单、方便,结果的各项性能指标也均达到指定要求。 关键字 : Matlab;滤波器; IIR; FIR ABSTRACT In digital signal processing, filter design occupies an extremely important position. And among them, the FIR digital filter and IIR digital filter is an import

5、ant part. Matlab has powerful function, easy to learn, programming efficiency higher characteristic, and was deeply loved by the masses of scientific and technical workers.Especially also has signal analysis toolbox in Matlab, so for users, dont need to have strong programming ability, can be easily

6、 signal analysis, processing and design. Signal processing toolbox of Matlab, can be used to quickly and efficiently design all kinds of digital filter. In this paper the design and implementation of speech signal processing based on Matlab, the integrated use of the relevant theoretical knowledge o

7、f digital signal processing, to add noise speech signal in time domain, frequency domain analysis and filtering. And then corresponding conclusion through theoretical derivation, using Matlab as a programming tool for computer implementation work. Implementation in the design process, using butterwo

8、rth, chebyshev and bilinear reform IIR digital filter design, window function method used to design FIR digital filter, and by using the Matlab as an auxiliary tool, to complete the design of computing and graphics drawing. Through a simulation of the designed filter and frequency characteristic ana

9、lysis shows that using the Matlab signal processing toolbox, can quickly and effectively to design FIR and IIR digital filter, the process is simple, convenient, and the results of various performance indicators meet the specified requirements. Keywords: Matlab; Filter; IIR; FIR 目 录 绪论 . 1 1 语音信号处理的

10、基本知识 . 3 1.1 语 音的录入和打开 . 3 1.2 采样位数和采样频率 . 3 1.3 时域信号 FFT 分析 . 3 1.4 数字滤波器设计原理 . 4 2 Matlab 相关函数 . 5 2.1 wavread 函数 . 5 2.2 其他相关函数 . 5 3 去噪和仿真的研究 . 7 3.1 语音文件在 Matlab 平台上的录入与打开 . 7 3.2 原始语音信号频谱分析及仿真 . 7 3.3 加噪语音信号频谱分析及仿真 . 9 3.4 去噪及仿真 . 11 3.5 结合去噪后的频谱图对比两种方式滤波的优缺点 . 16 结论 . 17 参考文献 . 18 致 谢 . 19 宿州

11、学院毕业设计 绪论 1 绪论 语音信号的采集与分析技术的应用和发展与语音学、声音测量 学、电子测量技术以及数字信号处理等学科紧密联系,同时也是一门涉及面很广的交叉学科。语音是人类获取信息的重要来源,是利用信息的重要手段。由于实验条件或各种其他主、客观条件的限制,在信号的传输过程中,语音处理系统都不可避免地要会受到各种噪声的干扰。噪声不仅降低了语音的可懂度,破坏了语音质量,而且还将会导致系统性能的急剧恶化,严重时会使整个系统无法正常工作。 Matlab是由美国 Mathworks 公司发布的一款软件,该软件主要面对的是科学计算、可视化以及交互式程序设计的高科技计算环境。它具有数值分析、矩阵计算、

12、非线 性动态系统的建模和仿真以及科学数据可视化等功能。它被集成在一个易于使用的视窗环境下,为工程设计、科学研究以及其它一些必须进行有效数值计算的众多科学领域提供了一种全面有效的解决方案。它在很大程度上摆脱了传统的其它编程语言的限制,如 C语言、 Fortran 语言的编辑模式,代表了当今国际科学计算软件的先进水平。其强大的数据处理能力可以极大程度上削弱噪声影响,其还原出的真实的语音信号相符度一般都在 90%以上。 数字滤波器和快速傅立叶变换 (FFT)等是语音信号数字处理的理论和技术基础,是 20 世纪 60年代形成的一系列数字 信号处理的理论和算法。随着信息科学技术的快速发展,语音信号处理技

13、术也相应取得了重大的进展:进入 70 年代之后,出现了很多新兴技术,其中语音信号的信息压缩和特征提取的线性预测技术(LPC)作用日益突出 ,逐渐在数字信号处理领域占据统治地位,并广泛应用于语音信号的分析、合成及其他各个应用领域。进入 80 年代后,一种新的技术 :基于聚类分析的高效数据压缩技术 矢量量化 (VQ),被应用到语音信号处理领域之中;而随着隐马尔可夫模型 (HMM)描述语音信号过程的产生, 80年代语音信号处理技术也随之发生了重大的发展。目前, HMM 已 构成了现代语音识别研究的重要基石。进入 21 世纪之后,人工神经网络,也即是人们所称的 ANN 的研究,取得了快速发展,语音信号

14、处理的各项研究的发展是促进其进步的重要源泉之一,他的各项成果也体现在语音信号处理的各项技术之中。 本论文主要介绍的是语音信号的简单处理。由于语音信号的处理有很多种类,本论文仅针对滤波处理去噪这一范围,运用数字信号处理所学基本原理,以实现语音信号的处理,在 Matlab7.0 环境下综合运用信号提取,幅频变换以及傅里叶变换、滤波等技术来进行语音信号滤波去噪。我所做的工作就是运用 Matlab软件, 在其上编写几个处理语音信号的程序,能对语音信号进行采集,并对其进行各种处理,达到简单的语音信号处理的目的。 宿州学院毕业设计 绪论 2 硬件环境 : (1)处理器: Inter Pentium B95

15、0 (2)内存: 2G (3)硬盘空间: 460G (4)显卡: NVIDIA GeForce GT520 开发环境: (1)操作系统: Windows 7( 64 位旗舰版) (2)开发环境: Matlab 7.0 基本方法步骤 : (1)语音信号的录制。 (2)在 Matlab 平台上读入语音信号。 (3)绘制频谱图并回放原始语音信号。 (4)利用 Matlab 编程加入一段正弦波噪音,设计滤波器去噪。 (5)利用 Matlab 编程加入一段随机噪音信号,设计 FIR 和 IIR 滤波器去噪,并分别绘制频谱图、回放语音信号。 (6)通过仿真后的图像以及对语音信号的回放,对比两种去噪方式的优

16、缺点。 具体流程图如下所示: 图 1 论文设计流程 语音信号采集 语音信号录入 语音信号变换 信号加噪 语音信号滤波 效果显示对比 宿州学院毕业设计 语音信号处理的基本知识 3 1 语音信号处理的基本知识 1.1 语音的录入和打开 在 Matlab 中, y,fs,bits=wavread(Blip,N1 N2),用于读取语音信号,采样值放在向量 y 中。 fs表示采样频率 (Hz), bits 表示采样位数。 N1 N2表示读取从 N1点到 N2 点的值。若只有一个 N 的点,则表示读取前 N 点的采样值。 sound(x,fs,bits)该函数的作用是用于对声音进行回放。向量 x 是一个复

17、杂的“函数表达式”,代表了一个信号,可以像处理一个信号表达式一样处理这个声音信号。 1.2 采样位数和采样频率 所谓采样位数,也即是采样值或取样值,一般是用来衡量声音波动变化的参数。指的是声卡在采集和播放声音文件时,所使用的数字声音信号的二进制位数。采样频率 ,则是指录音设备在一秒钟内对声音信号的 采样次数,采样频率越高 ,则声音的还原就越真实,越自然。 对于音频接口来说,采样位数和采样率是最为重要的两个指标 ,也是选择音频接口的两个重要标准。单从理论上来说,无论采样频率如何,采样的位数决定了音频数据最大的力度范围。每增加一个采样位数,则相当于力度范围增加了6dB。采样位数越多,则捕捉到的信号

18、就会越精确。对于采样率来说 ,你可以想象它类似于一个照相机, 40kHz 则意味着当音频流进入计算机时,计算机每秒会对其拍照达 40000 次。显然采样率越高,计算机摄取的图片会越多,对于原始音频的还原也将会更加精确。 1.3 时域信号 FFT 分析 FFT,即快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换 DFT 的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进而后获得的。在 Matlab 的信号处理工具箱中,函数 FFT 和 IFFT 用于快速傅立叶变换及其逆变换。函数 FFT 用于序列快速傅立叶变换,其调用格式为 :y=fft(x)。其中 x 是序列, y 是相应序列

19、的 FFT。 x 可以为一向量,也可以是矩阵。若 x 为一向量, y则是 x的 FFT,且和 x 相同长度;若 x 为矩阵, y 则是对矩阵的每一列向量进行FFT。若 x 长度是 2 的幂次方,函数 fft 将执行 高速基 -2FFT 算法,否则 fft 执行的是一种混合基的离散傅立叶变换算法,计算速度相对较慢。函数 FFT 的另一种调用格式为: y=fft(x,N),该式中, x, y意义同前, N 为正整数。函数执行 N点 FFT,若 x 为向量且长度小于 N,则函数将将使 x 补零至长度 N。若向量 x 的长度大于 N,则函数会截短 x使之长度为 N。若 x 为矩阵,则按相同方法对 x进

20、行处理。 宿州学院毕业设计 语音信号处理的基本知识 4 1.4 数字滤波器设计原理 数字滤波器的作用是利用离散时间系统的特性,对输入信号波形 (或频谱 )进行加工与处理,或者说利用数字方法,按预定的要求对信号进行变换。 可以将数字滤 波器理解为一个算法或者程序 ,将代表输入信号的数字时间序列 , 转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。 数字滤波器有多种,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种, 一种是 无限长冲激响应 (IIR)滤波器 ,另外一种则是 有限长冲激响应(FIR)滤波器。 从性能上说, IIR 滤波器传输函数的极点可位于单位圆内

21、的任何地方,因此可用于较低的阶数,以获得高的选择性,所用的存贮单元少,所以经济且效率较高。但是这个高效率是以牺牲相位的非线性为代价的。若选择性越好,则相位非线性失真会越 严重。相反, FIR 滤波器却可以得到严格的线性相位输出,但由于 FIR 滤波器传输函数的极点固定在原点,因而只能用较高的阶数以达到高的选择性;对于同样的滤波器设计指标, FIR 滤波器所要求的阶数可以比 IIR 滤波器高 510 倍,但是成本较高,信号延时也较大;所以如若按相同的选择性和相同的线性要求来说的话,则 IIR 滤波器就必须加全通网络以进行相位较正,同时要增加滤波器的节数和复杂性。 整体来看, IIR 与 FIR

22、各有优缺点。 IIR 滤波器能达到同样效果,且阶数少,延迟也较低,但是会有稳定性和非线性相位问题; FIR 滤波器虽然没 有稳定性问题,且线性相位,但阶数多,延迟大。宿州学院毕业设计 Matlab 相关函数 5 2 Matlab 相关函数 2.1 wavread 函数 选取一段声音信号,而后利用该函数,在 Matlab 软件平台下对语音信号进行采样处理,同时记住采样频率与采样点数。通过使用 wavread 函数,加深理解采样频率、采样位数等概念。 wavread 函数调用格式一般有以下几种: y=wavread( file),该式读取 file 所规定的 wav 文件,返回的采样值放在向量 y

23、 中。 y,fs,nbits=wavread(file),所得采样值放在向量 y中, fs 表示采样频率( Hz), nbits 表示采样位数。 y=wavread( file, N),读取前 N点的采样值并放在向量 y中。 y=wavread(file,1N,2N),读入从 1N 到 2N点的采样值并放在向量 y中。 2.2 其他相关函数 (1)函数 fftfilt 函数 fftfilt 的调用格式为 : y=fftfilt(b,x)。 该格式是利用基于 FFT 的重叠相加法对数据进行滤波处理,但这种频域滤波技术只对 FIR滤波器有效。该函数是通过向量 b描述的滤波器对 x数据进行滤波。(2

24、)函数 sound 函数 sound 可以对声音进行回放。其调用 格式为 : sound(x,fs,bits)。 (3)函数 filter 函数 filter 的调用格式为: y=filter(b,a,x)。 该格式采用的是用数字滤波器对数据进行滤波,既可以用于 IIR 滤波器,同样,也可以用于 FIR 滤波器。其中,向量 b和 a分别表示的是系统函数的分子、分母多项式的系数。若 a=1,则表示的是 FIR 滤波器,否则就是 IIR 滤波器。该函数是利用给出的向量 b和 a,对 x中的数据进行滤波,结果放入向量 y。 (4)函数 randn Randn 函数产生的是 0, 1上的均匀分布的随机序列, randn 产生 均值为 0,方差为 1的高斯随机序列,也就是白噪声序列。 也就是说,可以直接使用下面两个函数对原始信号添加噪声。调用格式为:y=x+rand(length(x),1),或者 y=x+randn(length(x),1)。 (5)函数 FFT

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。